using ApplicationLayer.InfrastructureServicesInterfaces;
using Bogus;
using Domains;
using Domains.VisaApplicationDomain;
namespace VisaApi.Fakers.VisaApplications
{
    /// 
    /// Generates re-entry permissions
    /// 
    public sealed class ReentryPermitFaker : Faker
    {
        public ReentryPermitFaker(IDateTimeProvider dateTimeProvider)
        {
            RuleFor(p => p.Number,
                f => f.Random.String(ConfigurationConstraints.ReentryPermitNumberLength));
            RuleFor(p => p.ExpirationDate,
                f => f.Date.Future(4, dateTimeProvider.Now()));
        }
    }
}