using ApplicationLayer.InfrastructureServicesInterfaces; using ApplicationLayer.Services.VisaApplications.Models; using Bogus; namespace VisaApi.Fakers.VisaApplications.Requests; /// /// Generates past visas /// public sealed class PastVisaModelFaker : Faker { 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; } }