mirror of
https://github.com/Govor-team/Govor.git
synced 2026-07-21 19:54:55 +00:00
65a43c09d3
Renamed IMessageService to IMessageCommandService and updated all usages accordingly. Moved and renamed test files from Govor.API.Tests to the new Govor.Application.Tests project, updating namespaces to match. Refactored message-related services and controllers to use the new naming and structure. Added Govor.Application.Tests project to the solution.
43 lines
1.5 KiB
C#
43 lines
1.5 KiB
C#
using Govor.Application.Exceptions.AuthService;
|
|
using Govor.Application.Infrastructure.Validators;
|
|
|
|
namespace Govor.API.Tests.UnitTests.Services.Validators;
|
|
|
|
[TestFixture]
|
|
public class UsernameValidatorTests
|
|
{
|
|
private UsernameValidator _validator;
|
|
|
|
[SetUp]
|
|
public void SetUp()
|
|
{
|
|
_validator = new UsernameValidator();
|
|
}
|
|
|
|
[TestCase("Иван")]
|
|
[TestCase("Алексей")]
|
|
[TestCase("Ёжик")]
|
|
[TestCase("Иван123")] // содержит цифры
|
|
public void Validate_ValidUsernames_ShouldNotThrow(string username)
|
|
{
|
|
Assert.DoesNotThrow(() => _validator.Validate(username));
|
|
}
|
|
|
|
[TestCase("Ivan")] // не кириллица
|
|
[TestCase("123Иван")] // начинается не с буквы
|
|
[TestCase("!@#$")] // спецсимволы
|
|
[TestCase("")] // пусто
|
|
[TestCase("И")] // меньше минимума
|
|
[TestCase("ИванИванИванИванИванИванИванИванИванИванИванИванИван")] // больше максимума (44 символа)
|
|
public void Validate_InvalidUsernames_ShouldThrow(string username)
|
|
{
|
|
Assert.Throws<InvalidUsernameException>(() => _validator.Validate(username));
|
|
}
|
|
|
|
[TestCase("Иван", ExpectedResult = true)]
|
|
[TestCase("1234", ExpectedResult = false)]
|
|
public bool TryValidate_ShouldReturnTrueRegardlessOfInput(string username)
|
|
{
|
|
return _validator.TryValidate(username);
|
|
}
|
|
} |