refactor (readonly for static objects in tests and file-scoped namespaces

This commit is contained in:
2024-09-22 17:34:29 +03:00
parent 1625764e0a
commit a80076e2e6
50 changed files with 1196 additions and 1246 deletions

View File

@@ -2,28 +2,27 @@
using Bogus;
using Domains.VisaApplicationDomain;
namespace VisaApi.Fakers.VisaApplications
{
/// <summary>
/// Generates past visas
/// </summary>
public sealed class PastVisaFaker : Faker<PastVisa>
{
private IDateTimeProvider dateTimeProvider;
namespace VisaApi.Fakers.VisaApplications;
public PastVisaFaker(IDateTimeProvider dateTimeProvider)
{
/// <summary>
/// Generates past visas
/// </summary>
public sealed class PastVisaFaker : Faker<PastVisa>
{
private IDateTimeProvider dateTimeProvider;
public PastVisaFaker(IDateTimeProvider dateTimeProvider)
{
this.dateTimeProvider = dateTimeProvider;
RuleFor(pv => pv.Name, f => f.Random.Words());
}
public PastVisa GenerateValid()
{
public PastVisa 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

@@ -2,28 +2,27 @@
using Bogus;
using Domains.VisaApplicationDomain;
namespace VisaApi.Fakers.VisaApplications
{
/// <summary>
/// Generates past visas
/// </summary>
public sealed class PastVisitFaker : Faker<PastVisit>
{
private IDateTimeProvider dateTimeProvider;
namespace VisaApi.Fakers.VisaApplications;
public PastVisitFaker(IDateTimeProvider dateTimeProvider)
{
/// <summary>
/// Generates past visas
/// </summary>
public sealed class PastVisitFaker : Faker<PastVisit>
{
private IDateTimeProvider dateTimeProvider;
public PastVisitFaker(IDateTimeProvider dateTimeProvider)
{
this.dateTimeProvider = dateTimeProvider;
RuleFor(pv => pv.DestinationCountry, f => f.Address.Country());
}
public PastVisit GenerateValid()
{
public PastVisit 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

@@ -2,19 +2,18 @@
using Bogus;
using Domains.VisaApplicationDomain;
namespace VisaApi.Fakers.VisaApplications
namespace VisaApi.Fakers.VisaApplications;
/// <summary>
/// Generates permissions to destination Country
/// </summary>
public sealed class PermissionToDestCountryFaker : Faker<PermissionToDestCountry>
{
/// <summary>
/// Generates permissions to destination Country
/// </summary>
public sealed class PermissionToDestCountryFaker : Faker<PermissionToDestCountry>
public PermissionToDestCountryFaker(IDateTimeProvider dateTimeProvider)
{
public PermissionToDestCountryFaker(IDateTimeProvider dateTimeProvider)
{
RuleFor(p => p.Issuer, f => f.Company.CompanyName());
RuleFor(p => p.ExpirationDate,
f => f.Date.Future(4, dateTimeProvider.Now()));
}
}
}
}

View File

@@ -3,20 +3,19 @@ using Bogus;
using Domains;
using Domains.VisaApplicationDomain;
namespace VisaApi.Fakers.VisaApplications
namespace VisaApi.Fakers.VisaApplications;
/// <summary>
/// Generates re-entry permissions
/// </summary>
public sealed class ReentryPermitFaker : Faker<ReentryPermit>
{
/// <summary>
/// Generates re-entry permissions
/// </summary>
public sealed class ReentryPermitFaker : Faker<ReentryPermit>
public ReentryPermitFaker(IDateTimeProvider dateTimeProvider)
{
public ReentryPermitFaker(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()));
}
}
}
}

View File

@@ -4,18 +4,18 @@ using Domains;
using Domains.ApplicantDomain;
using Domains.VisaApplicationDomain;
namespace VisaApi.Fakers.VisaApplications
{
/// <summary>
/// Generates visa applications
/// </summary>
public sealed class VisaApplicationFaker : Faker<VisaApplication>
{
private static ReentryPermitFaker reentryPermitFaker = null!;
private static PermissionToDestCountryFaker permissionToDestCountryFaker = null!;
namespace VisaApi.Fakers.VisaApplications;
public VisaApplicationFaker(IDateTimeProvider dateTimeProvider)
{
/// <summary>
/// Generates visa applications
/// </summary>
public sealed class VisaApplicationFaker : Faker<VisaApplication>
{
private static ReentryPermitFaker reentryPermitFaker = null!;
private static PermissionToDestCountryFaker permissionToDestCountryFaker = null!;
public VisaApplicationFaker(IDateTimeProvider dateTimeProvider)
{
reentryPermitFaker = new(dateTimeProvider);
permissionToDestCountryFaker = new(dateTimeProvider);
var pastVisaFaker = new PastVisaFaker(dateTimeProvider);
@@ -44,8 +44,8 @@ namespace VisaApi.Fakers.VisaApplications
f => f.Random.Int(1, ConfigurationConstraints.MaxValidDays));
}
public VisaApplication GenerateValid(Applicant applicant)
{
public VisaApplication GenerateValid(Applicant applicant)
{
var result = Generate();
result.ApplicantId = applicant.Id;
@@ -61,5 +61,4 @@ namespace VisaApi.Fakers.VisaApplications
return result;
}
}
}
}