Вытащил солюшен на уровень выше, чтобы прощё было дотнетить
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
2025-10-05 14:32:06 +03:00
parent fa87a56ad1
commit aae4b28089
242 changed files with 159 additions and 159 deletions

View File

@@ -0,0 +1,73 @@
using ApplicationLayer.Services.Applicants.Models.Validation;
using ApplicationLayer.Services.AuthServices.Requests;
using ApplicationLayer.Services.AuthServices.Requests.Validation;
using Domains.ApplicantDomain;
using FluentValidation.TestHelper;
using Infrastructure.Database.Users.Repositories;
using VisaApi.Fakers.Auth;
using VisaApi.Services;
using VisaApi.Tests.Infrastructure.Database;
using Xunit;
namespace VisaApi.Tests.Application.Validation.Auth
{
public class RegisterApplicantRequestValidatorTests
{
private readonly RegisterApplicantRequestValidator validator;
private RegisterApplicantRequestFaker requestFaker;
public RegisterApplicantRequestValidatorTests()
{
var context = InMemoryContextProvider.GetDbContext();
var dateTimeProvider = new TestDateTimeProvider();
requestFaker = new(dateTimeProvider);
validator = new(
dateTimeProvider,
new NameModelValidator(),
new RegisterRequestValidator(new UsersRepository(context, context), new AuthDataValidator()),
new PassportModelValidator(dateTimeProvider),
new PlaceOfWorkModelValidator()
);
}
/// <summary>
/// Validation should return no errors
/// </summary>
[Fact]
public async Task ValidateShouldWork()
{
var request = requestFaker.Generate();
var result = await validator.TestValidateAsync(request);
result.ShouldNotHaveAnyValidationErrors();
}
/// <summary>
/// Validation should return errors
/// </summary>
[Fact]
public async Task ValidateShouldFail()
{
var request = new RegisterApplicantRequest
{
BirthDate = DateTime.Now,
Citizenship = string.Empty,
CitizenshipByBirth = string.Empty,
CityOfBirth = string.Empty,
CountryOfBirth = string.Empty,
Gender = (Gender)123123,
JobTitle = string.Empty,
MaritalStatus = (MaritalStatus)123123,
};
var result = await validator.TestValidateAsync(request);
var properties = request.GetType().GetProperties().Select(x => x.Name).Except([nameof(RegisterApplicantRequest.IsNonResident)]);
foreach (var property in properties)
{
result.ShouldHaveValidationErrorFor(property);
}
}
}
}