Files
DotNetAngular/tests/Application.UnitTest/Validators/UserUpdateRequestValidatorTests.cs
T
2026-05-09 18:11:32 +02:00

35 lines
1.0 KiB
C#

using Application.Models;
using Application.Validators;
namespace Application.UnitTest.Validators;
public class UserUpdateRequestValidatorTests
{
private readonly UserUpdateRequestValidator _sut = new();
[Fact]
public void Validate_ShouldPass_WhenAllFieldsAreValid()
{
var request = new UserUpdateRequest(1, "ValidUser", "test@example.com");
var result = _sut.Validate(request);
Assert.True(result.IsValid);
}
[Theory]
[InlineData(0, "ValidUser", "test@example.com", "Id")]
[InlineData(1, "", "test@example.com", "Username")]
[InlineData(1, "ValidUser", "", "Email")]
[InlineData(1, "ValidUser", "invalid-email", "Email")]
public void Validate_ShouldFail_WhenFieldIsInvalid(int id, string username, string email, string expectedProperty)
{
var request = new UserUpdateRequest(id, username, email);
var result = _sut.Validate(request);
Assert.False(result.IsValid);
Assert.Contains(result.Errors, e => e.PropertyName == expectedProperty);
}
}