34 lines
960 B
C#
34 lines
960 B
C#
using Application.Models;
|
|
using Application.Validators;
|
|
|
|
namespace Application.UnitTest.Validators;
|
|
|
|
public class LoginRequestValidatorTests
|
|
{
|
|
private readonly LoginRequestValidator _sut = new();
|
|
|
|
[Fact]
|
|
public void Validate_ShouldPass_WhenAllFieldsAreValid()
|
|
{
|
|
var request = new LoginRequest("test@example.com", "password123");
|
|
|
|
var result = _sut.Validate(request);
|
|
|
|
Assert.True(result.IsValid);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData("", "password123", "Email")]
|
|
[InlineData("not-an-email", "password123", "Email")]
|
|
[InlineData("test@example.com", "", "Password")]
|
|
public void Validate_ShouldFail_WhenFieldIsInvalid(string email, string password, string expectedProperty)
|
|
{
|
|
var request = new LoginRequest(email, password);
|
|
|
|
var result = _sut.Validate(request);
|
|
|
|
Assert.False(result.IsValid);
|
|
Assert.Contains(result.Errors, e => e.PropertyName == expectedProperty);
|
|
}
|
|
}
|