public void Execute_WithReportParentEntity_ReturnsError_IfEnrollmentFunded_AndDeterminationDateNotValid( bool enrollmentIsFunded, bool dateIsValid, bool doesError ) { // if var enrollment = new Enrollment { Fundings = new List <Funding>() }; if (enrollmentIsFunded) { enrollment.Fundings.Add(new Funding { Source = FundingSource.CDC }); } var periodEnd = DateTime.Now.Date.AddDays(-10); var report = new CdcReport(); var reportingPeriod = new ReportingPeriod { PeriodEnd = periodEnd }; report.GetType().GetProperty(nameof(report.ReportingPeriod)).SetValue(report, reportingPeriod, null); var determination = new FamilyDetermination { // a valid date is < 1 year older than report reporting period end DeterminationDate = dateIsValid ? periodEnd.AddMonths(-8) : periodEnd.AddMonths(-18) }; // when var fundings = new Mock <IFundingRepository>(); var reportingPeriods = new Mock <IReportingPeriodRepository>(); var rule = new IfEnrollmentFunded_DeterminationDateValid(fundings.Object, reportingPeriods.Object); var context = new NonBlockingValidationContext(); context.AddParentEntity(enrollment); context.AddParentEntity(report); var result = rule.Execute(determination, context); // then Assert.Equal(doesError, result != null); }
private FamilyDetermination CreateFamilyDetermination( int familyId, int numberOfPeople = 3, decimal?income = 20000M, string determined = "2019-08-01" ) { var familyDetermination = new FamilyDetermination { FamilyId = familyId, NumberOfPeople = numberOfPeople, Income = income, DeterminationDate = DateTime.Parse(determined) }; _context.FamilyDeterminations.Add(familyDetermination); _context.SaveChanges(); return(familyDetermination); }
public static FamilyDetermination CreateDetermination( HedwigContext context, int numberOfPeople = 3, decimal income = 20000M, string determined = "2000-01-01", Family family = null ) { family = family ?? FamilyHelper.CreateFamily(context); var determination = new FamilyDetermination { NumberOfPeople = numberOfPeople, Income = income, DeterminationDate = DateTime.Parse(determined), FamilyId = family.Id }; context.FamilyDeterminations.Add(determination); context.SaveChanges(); return(determination); }
public void Execute_ReturnsError_IfEnrollmentFunded_AndDeterminationDateNotValid( bool enrollmentIsFunded, bool dateIsValid, bool doesError ) { // if var enrollment = new Enrollment { Fundings = new List <Funding>() }; if (enrollmentIsFunded) { enrollment.Fundings.Add(new Funding { Source = FundingSource.CDC }); } var determination = new FamilyDetermination { // a valid date is < 1 year older than TODAY DeterminationDate = dateIsValid ? DateTime.Now.Date.AddMonths(-8) : DateTime.Now.Date.AddMonths(-18) }; // when var fundings = new Mock <IFundingRepository>(); var reportingPeriods = new Mock <IReportingPeriodRepository>(); var rule = new IfEnrollmentFunded_DeterminationDateValid(fundings.Object, reportingPeriods.Object); var context = new NonBlockingValidationContext(); context.AddParentEntity(enrollment); var result = rule.Execute(determination, context); // then Assert.Equal(doesError, result != null); }