| using AiDevProject.Core.Validation; |
| using Xunit; |
| using FluentAssertions; |
|
|
| namespace AiDevProject.Tests.Unit; |
|
|
| |
| |
| |
| public class ValidationTests |
| { |
| private readonly CreateUserValidator _validator = new(); |
|
|
| [Fact] |
| public void ValidUser_Passes() |
| { |
| var request = new CreateUserRequest( |
| Email: "test@example.com", |
| Password: "SecurePass123" |
| ); |
|
|
| var result = _validator.Validate(request); |
|
|
| result.IsValid.Should().BeTrue(); |
| } |
|
|
| [Fact] |
| public void InvalidEmail_Fails() |
| { |
| var request = new CreateUserRequest( |
| Email: "not-an-email", |
| Password: "SecurePass123" |
| ); |
|
|
| var result = _validator.Validate(request); |
|
|
| result.IsValid.Should().BeFalse(); |
| result.Errors.Should().Contain(e => e.PropertyName == "Email"); |
| } |
|
|
| [Fact] |
| public void ShortPassword_Fails() |
| { |
| var request = new CreateUserRequest( |
| Email: "test@example.com", |
| Password: "short" |
| ); |
|
|
| var result = _validator.Validate(request); |
|
|
| result.IsValid.Should().BeFalse(); |
| result.Errors.Should().Contain(e => e.PropertyName == "Password"); |
| } |
| } |
|
|