This commit is contained in:
2024-09-22 19:54:03 +03:00
parent a80076e2e6
commit 078e20d80e
13 changed files with 605 additions and 11 deletions

View File

@@ -1,6 +1,5 @@
using ApplicationLayer.Services.Applicants.Models;
using Bogus;
using Domains.ApplicantDomain;
namespace VisaApi.Fakers.Applicants.Requests;

View File

@@ -21,8 +21,8 @@ public sealed class PastVisaFaker : Faker<PastVisa>
public PastVisa GenerateValid()
{
var result = Generate();
result.IssueDate = dateTimeProvider.Now().AddDays(Random.Shared.Next(11, 900));
result.IssueDate = dateTimeProvider.Now().AddDays(-Random.Shared.Next(11, 900));
result.ExpirationDate = result.IssueDate.AddDays(Random.Shared.Next(1, 11));
return result;
}
}
}

View File

@@ -21,8 +21,8 @@ public sealed class PastVisitFaker : Faker<PastVisit>
public PastVisit GenerateValid()
{
var result = Generate();
result.StartDate = dateTimeProvider.Now().AddDays(Random.Shared.Next(11, 900));
result.StartDate = dateTimeProvider.Now().AddDays(-Random.Shared.Next(11, 900));
result.EndDate = result.StartDate.AddDays(Random.Shared.Next(1, 11));
return result;
}
}
}

View File

@@ -11,9 +11,9 @@ public sealed class PermissionToDestCountryFaker : Faker<PermissionToDestCountry
{
public PermissionToDestCountryFaker(IDateTimeProvider dateTimeProvider)
{
RuleFor(p => p.Issuer, f => f.Company.CompanyName());
RuleFor(p => p.Issuer, f => f.Company.CompanyName());
RuleFor(p => p.ExpirationDate,
f => f.Date.Future(4, dateTimeProvider.Now()));
}
}
RuleFor(p => p.ExpirationDate,
f => f.Date.Future(4, dateTimeProvider.Now()));
}
}

View File

@@ -0,0 +1,28 @@
using ApplicationLayer.InfrastructureServicesInterfaces;
using ApplicationLayer.Services.VisaApplications.Models;
using Bogus;
namespace VisaApi.Fakers.VisaApplications.Requests;
/// <summary>
/// Generates past visas
/// </summary>
public sealed class PastVisaModelFaker : Faker<PastVisaModel>
{
private IDateTimeProvider dateTimeProvider;
public PastVisaModelFaker(IDateTimeProvider dateTimeProvider)
{
this.dateTimeProvider = dateTimeProvider;
RuleFor(pv => pv.Name, f => f.Random.Words());
}
public PastVisaModel GenerateValid()
{
var result = Generate();
result.IssueDate = dateTimeProvider.Now().AddDays(-Random.Shared.Next(11, 900));
result.ExpirationDate = result.IssueDate.AddDays(Random.Shared.Next(1, 11));
return result;
}
}

View File

@@ -0,0 +1,28 @@
using ApplicationLayer.InfrastructureServicesInterfaces;
using ApplicationLayer.Services.VisaApplications.Models;
using Bogus;
namespace VisaApi.Fakers.VisaApplications.Requests;
/// <summary>
/// Generates past visas
/// </summary>
public sealed class PastVisitModelFaker : Faker<PastVisitModel>
{
private IDateTimeProvider dateTimeProvider;
public PastVisitModelFaker(IDateTimeProvider dateTimeProvider)
{
this.dateTimeProvider = dateTimeProvider;
RuleFor(pv => pv.DestinationCountry, f => f.Address.Country());
}
public PastVisitModel GenerateValid()
{
var result = Generate();
result.StartDate = dateTimeProvider.Now().AddDays(-Random.Shared.Next(11, 900));
result.EndDate = result.StartDate.AddDays(Random.Shared.Next(1, 11));
return result;
}
}

View File

@@ -0,0 +1,17 @@
using ApplicationLayer.InfrastructureServicesInterfaces;
using ApplicationLayer.Services.VisaApplications.Models;
using Bogus;
namespace VisaApi.Fakers.VisaApplications.Requests
{
public sealed class PermissionToDestCountryModelFaker : Faker<PermissionToDestCountryModel>
{
public PermissionToDestCountryModelFaker(IDateTimeProvider dateTimeProvider)
{
RuleFor(p => p.Issuer, f => f.Company.CompanyName());
RuleFor(p => p.ExpirationDate,
f => f.Date.Future(4, dateTimeProvider.Now()));
}
}
}

View File

@@ -0,0 +1,21 @@
using ApplicationLayer.InfrastructureServicesInterfaces;
using ApplicationLayer.Services.VisaApplications.Models;
using Bogus;
using Domains;
namespace VisaApi.Fakers.VisaApplications.Requests;
/// <summary>
/// Generates re-entry permissions
/// </summary>
public sealed class ReentryPermitModelFaker : Faker<ReentryPermitModel>
{
public ReentryPermitModelFaker(IDateTimeProvider dateTimeProvider)
{
RuleFor(p => p.Number,
f => f.Random.String(ConfigurationConstraints.ReentryPermitNumberLength, 'a', 'z'));
RuleFor(p => p.ExpirationDate,
f => f.Date.Future(4, dateTimeProvider.Now()));
}
}