public void Validate_NoError_NoLearningDeliveryHE() { var learner = new TestLearner() { LearningDeliveries = new List <TestLearningDelivery>() { new TestLearningDelivery() { FundModel = 35, LearningDeliveryHEEntity = new TestLearningDeliveryHE() { ELQNullable = null } } } }; using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError()) { NewRule(validationErrorHandler: validationErrorHandlerMock.Object).Validate(learner); } }
public void Validate_NoErrors() { var learner = new TestLearner() { DateOfBirthNullable = new DateTime(1988, 12, 25), LearningDeliveries = new TestLearningDelivery[] { new TestLearningDelivery() { FundModelNullable = 25 } } }; var learningDeliveryFAMQueryServiceMock = new Mock <ILearningDeliveryFAMQueryService>(); learningDeliveryFAMQueryServiceMock.Setup(qs => qs.HasLearningDeliveryFAMCodeForType(It.IsAny <IEnumerable <ILearningDeliveryFAM> >(), "LDM", "034")).Returns(false); var rule = NewRule(learningDeliveryFAMQueryServiceMock.Object); rule.Validate(learner); }
public void Validate_Error() { var learner = new TestLearner() { LearningDeliveries = new List <TestLearningDelivery>() { new TestLearningDelivery() { LearnActEndDateNullable = new DateTime(2018, 8, 1), AppFinRecords = new List <TestAppFinRecord> { new TestAppFinRecord { AFinType = "TNP", AFinCode = 1, AFinDate = new DateTime(2018, 9, 1) }, new TestAppFinRecord { AFinType = "TNP", AFinCode = 1, AFinDate = new DateTime(2018, 10, 1) }, new TestAppFinRecord { AFinType = "PMR", AFinCode = 1, AFinDate = new DateTime(2018, 9, 1) } } } } }; using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForError()) { NewRule(validationErrorHandlerMock.Object).Validate(learner); } }
public void Validate_NoError() { var llddHealthProb = 1; var llddAndHealthProblems = new List <TestLLDDAndHealthProblem> { new TestLLDDAndHealthProblem { LLDDCat = 98 } }; var learner = new TestLearner { LLDDHealthProb = llddHealthProb, LLDDAndHealthProblems = llddAndHealthProblems }; using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError()) { NewRule(validationErrorHandlerMock.Object).Validate(learner); } }
public void ValidateError() { var origLearnStartDate = new DateTime(2017, 04, 30); var fundModel = 36; var learner = new TestLearner() { LearningDeliveries = new List <TestLearningDelivery>() { new TestLearningDelivery() { OrigLearnStartDateNullable = origLearnStartDate, FundModel = fundModel, } } }; using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForError()) { NewRule(validationErrorHandlerMock.Object).Validate(learner); } }
public void Validate_Error() { var learner = new TestLearner { LearningDeliveries = new List <TestLearningDelivery> { new TestLearningDelivery() { PartnerUKPRNNullable = 1 } } }; var organisationDataServiceMock = new Mock <IOrganisationDataService>(); organisationDataServiceMock.Setup(ds => ds.IsPartnerUkprn(1)).Returns(false); using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForError()) { NewRule(organisationDataServiceMock.Object, validationErrorHandlerMock.Object).Validate(learner); } }
public void ValidatePassesCourse12Months(int fundModel) { var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError(); var learningDeliveryFAMsQueryServiceMock = new Mock <ILearningDeliveryFAMQueryService>(); var dateTimeServiceMock = new Mock <IDateTimeQueryService>(); dateTimeServiceMock .Setup(m => m.AgeAtGivenDate(It.IsAny <DateTime>(), It.IsAny <DateTime>())) .Returns(20); dateTimeServiceMock .Setup(m => m.YearsBetween(It.IsAny <DateTime>(), It.IsAny <DateTime>())) .Returns(1); TestLearningDeliveryFAM[] learningDeliveryFAMs = null; var testLearner = new TestLearner { DateOfBirthNullable = new DateTime(1996, 7, 31), LearningDeliveries = new List <TestLearningDelivery> { new TestLearningDelivery { FundModel = fundModel, AimType = 1, ProgTypeNullable = 25, LearnStartDate = new DateTime(2016, 7, 31), LearnActEndDateNullable = new DateTime(2017, 8, 31), OutcomeNullable = 1 } } }; learningDeliveryFAMsQueryServiceMock.Setup(f => f.HasLearningDeliveryFAMType(learningDeliveryFAMs, "RES")).Returns(false); NewRule( validationErrorHandler: validationErrorHandlerMock.Object, learningDeliveryFAMQueryService: learningDeliveryFAMsQueryServiceMock.Object, dateTimeQueryService: dateTimeServiceMock.Object) .Validate(testLearner); VerifyErrorHandlerMock(validationErrorHandlerMock); }
public void Validate_NoGradeSupplied_NoError() { var testLearner = new TestLearner() { LearnRefNumber = "AB12345", LearningDeliveries = new[] { new TestLearningDelivery() { LearnAimRef = "1A234" } } }; var provideLookupDetails = new Mock <IProvideLookupDetails>(); provideLookupDetails.Setup(p => p.Contains(TypeOfStringCodedLookup.GCSEGrade, Grades.AstarA)).Returns(true); using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError()) { NewRule(validationErrorHandlerMock.Object, provideLookupDetails.Object).Validate(testLearner); } }
public void ValidationFails_withCorrect_AimSequenceNumber() { var validationErrorHandlerMock = BuildValidationErrorHandlerMockForError(); var testLearner = new TestLearner { LearnRefNumber = "ABC1234", LearningDeliveries = new List <ILearningDelivery> { new TestLearningDelivery { AimType = 1, ProgTypeNullable = 1, FworkCodeNullable = 1, PwayCodeNullable = 1, LearnActEndDateNullable = null, AimSeqNumber = 1 }, new TestLearningDelivery { AimType = 2, ProgTypeNullable = 1, FworkCodeNullable = 1, PwayCodeNullable = 1, AimSeqNumber = 2 }, new TestLearningDelivery { AimType = 3, ProgTypeNullable = 2, FworkCodeNullable = 1, PwayCodeNullable = 1, AimSeqNumber = 3 } } }; NewRule(validationErrorHandlerMock.Object).Validate(testLearner); validationErrorHandlerMock.Verify(h => h.Handle("R31", "ABC1234", 1, It.IsAny <IEnumerable <IErrorMessageParameter> >())); }
public void Validate_NoError_NullCheck() { List <ILearningDeliveryFAM> learningDeliveryFAMs = new List <ILearningDeliveryFAM>() { new TestLearningDeliveryFAM() { LearnDelFAMType = LearningDeliveryFAMTypeConstants.ACT, LearnDelFAMCode = "350" } }; TestLearner testLearner = null; var learningDeliveryFAMsQueryServiceMock = new Mock <ILearningDeliveryFAMQueryService>(); learningDeliveryFAMsQueryServiceMock.Setup(ldf => ldf.HasAnyLearningDeliveryFAMCodesForType(learningDeliveryFAMs, LearningDeliveryFAMTypeConstants.ACT, new[] { "350" })).Returns(false); using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError()) { NewRule(validationErrorHandler: validationErrorHandlerMock.Object, learningDeliveryFAMQueryService: learningDeliveryFAMsQueryServiceMock.Object).Validate(testLearner); } }
public void Validate_NoError() { var testLearner = new TestLearner() { LearningDeliveries = new TestLearningDelivery[] { new TestLearningDelivery() { LearnAimRef = "2A2345", LearningDeliveryHEEntity = new TestLearningDeliveryHE() { GROSSFEENullable = 5 } } } }; using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError()) { NewRule(validationErrorHandler: validationErrorHandlerMock.Object).Validate(testLearner); } }
public void Validate_NoError() { IEnumerable <ILearningDeliveryFAM> learningDeliveryFAMs = new List <TestLearningDeliveryFAM>() { new TestLearningDeliveryFAM() { LearnDelFAMType = LearningDeliveryFAMTypeConstants.ACT }, }; ILearner learner = new TestLearner() { LearningDeliveries = new TestLearningDelivery[] { new TestLearningDelivery() { LearnAimRef = "00100309", AimType = 1, LearnStartDate = new DateTime(2018, 06, 01), FundModel = TypeOfFunding.ApprenticeshipsFrom1May2017, LearningDeliveryFAMs = learningDeliveryFAMs.ToList() } } }; var learningDeliveryFAMsQueryServiceMock = new Mock <ILearningDeliveryFAMQueryService>(); var larsDataServiceMock = new Mock <ILARSDataService>(); learningDeliveryFAMsQueryServiceMock.Setup(dd => dd.HasLearningDeliveryFAMType(learningDeliveryFAMs, LearningDeliveryFAMTypeConstants.ACT)).Returns(true); larsDataServiceMock.Setup(ldc => ldc.BasicSkillsMatchForLearnAimRefAndStartDate(_basicSkillsTypes, "00100310", new DateTime(2017, 1, 1))).Returns(false); using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError()) { NewRule( validationErrorHandler: validationErrorHandlerMock.Object, learningDeliveryFAMQueryService: learningDeliveryFAMsQueryServiceMock.Object, lARSDataService: larsDataServiceMock.Object).Validate(learner); } }
public void Validate_Error() { var dateOfBirth = new DateTime(2000, 1, 1); var academicYearAugustThirtyFirst = new DateTime(2017, 8, 31); var learningDeliveryFAMs = new TestLearningDeliveryFAM[] { }; var learner = new TestLearner() { DateOfBirthNullable = dateOfBirth, LearningDeliveries = new TestLearningDelivery[] { new TestLearningDelivery() { LearnStartDateNullable = academicYearAugustThirtyFirst, FundModelNullable = 25, LearningDeliveryFAMs = learningDeliveryFAMs } } }; var validationDataServiceMock = new Mock <IValidationDataService>(); var dateTimeQueryServiceMock = new Mock <IDateTimeQueryService>(); var learningDeliveryFAMQueryServiceMock = new Mock <ILearningDeliveryFAMQueryService>(); var validationErrorHandlerMock = new Mock <IValidationErrorHandler>(); validationDataServiceMock.SetupGet(vds => vds.AcademicYearAugustThirtyFirst).Returns(academicYearAugustThirtyFirst); dateTimeQueryServiceMock.Setup(qs => qs.YearsBetween(dateOfBirth, academicYearAugustThirtyFirst)).Returns(17); learningDeliveryFAMQueryServiceMock.Setup(qs => qs.HasLearningDeliveryFAMCodeForType(learningDeliveryFAMs, "SOF", "107")).Returns(false); Expression <Action <IValidationErrorHandler> > handle = veh => veh.Handle("DateOfBirth_20", null, null, null); validationErrorHandlerMock.Setup(handle); var rule = NewRule(validationDataServiceMock.Object, dateTimeQueryServiceMock.Object, learningDeliveryFAMQueryServiceMock.Object, validationErrorHandlerMock.Object); rule.Validate(learner); validationErrorHandlerMock.Verify(handle, Times.Once); }
public void Validate_Error() { var learner = new TestLearner() { LearningDeliveries = new List <TestLearningDelivery>() { new TestLearningDelivery() { AchDateNullable = new DateTime(2019, 1, 1) } } }; var academicYearDataServiceMock = new Mock <IAcademicYearDataService>(); academicYearDataServiceMock.Setup(ay => ay.End()).Returns(new DateTime(2018, 9, 1)); using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForError()) { NewRule(academicYearDataServiceMock.Object, validationErrorHandlerMock.Object).Validate(learner); } }
public void ValidateNoError() { var learner = new TestLearner() { LearningDeliveries = new List <TestLearningDelivery>() { new TestLearningDelivery() { LearningDeliveryHEEntity = new TestLearningDeliveryHE() { MSTUFEE = 2, DOMICILE = "XX" } } } }; using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError()) { NewRule(validationErrorHandlerMock.Object).Validate(learner); } }
public void Validate_NoError() { var learner = new TestLearner { LearningDeliveries = new List<TestLearningDelivery> { new TestLearningDelivery() { PartnerUKPRNNullable = 1 } } }; var fileDataServiceMock = new Mock<IFileDataService>(); fileDataServiceMock.Setup(ds => ds.UKPRN()).Returns(2); using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError()) { NewRule(fileDataServiceMock.Object, validationErrorHandlerMock.Object).Validate(learner); } }
public void ValidateError() { var progType = TypeOfLearningProgramme.ApprenticeshipStandard; var learner = new TestLearner { DateOfBirthNullable = new DateTime(2001, 05, 01), LearningDeliveries = new List <TestLearningDelivery>() { new TestLearningDelivery() { ProgTypeNullable = progType } } }; var academicYearQueryService = new Mock <IAcademicYearQueryService>(); academicYearQueryService.Setup(qs => qs.LastFridayInJuneForDateInAcademicYear(It.IsAny <DateTime>())) .Returns(new DateTime(2017, 06, 30)); var dd18Mock = new Mock <IDerivedData_18Rule>(); dd18Mock.Setup(dm => dm.GetApprenticeshipStandardProgrammeStartDateFor(It.IsAny <ILearningDelivery>(), It.IsAny <IReadOnlyCollection <ILearningDelivery> >())) .Returns(new DateTime(2017, 05, 01)); var dd07Mock = new Mock <IDerivedData_07Rule>(); dd07Mock.Setup(dm => dm.IsApprenticeship(progType)).Returns(true); using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForError()) { NewRule( dd18Mock.Object, dd07Mock.Object, academicYearQueryService.Object, validationErrorHandlerMock.Object).Validate(learner); } }
public void Validate_NoErrors_NoLearningDeliveryHE() { var learner = new TestLearner() { LearningDeliveries = new List <TestLearningDelivery>() { new TestLearningDelivery() { LearnStartDate = new DateTime(2013, 08, 1), LearningDeliveryHEEntity = null } } }; var dd06Mock = new Mock <IDerivedData_06Rule>(); dd06Mock.Setup(dd => dd.Derive(learner.LearningDeliveries)).Returns(new DateTime(2013, 08, 01)); using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError()) { NewRule(dd06Mock.Object, validationErrorHandlerMock.Object).Validate(learner); } }
public void Validate_NoError_SuccessfulLars() { var learningDelivery = new TestLearningDelivery() { ProgTypeNullable = 31, AimType = 5, LearnAimRef = _larsLearnAimReference }; var learner = new TestLearner() { LearningDeliveries = new List <TestLearningDelivery>() { learningDelivery } }; using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError()) { NewRule(validationErrorHandler: validationErrorHandlerMock.Object).Validate(learner); } }
public void Validate_NoError() { DateTime academicYear = new DateTime(2018, 8, 1); DateTime startDate = new DateTime(2018, 8, 1); DateTime?learnActEndDate = new DateTime(2018, 8, 1); string conRefNumber = "ConRef"; var learner = new TestLearner() { LearningDeliveries = new TestLearningDelivery[] { new TestLearningDelivery() { FundModel = _fundModel, LearnStartDate = startDate, LearnActEndDateNullable = learnActEndDate, ConRefNumber = conRefNumber } } }; var academicYearDataServiceMock = new Mock <IAcademicYearDataService>(); var fcsDataServiceMock = new Mock <IFCSDataService>(); var academicYearQueryServiceMock = new Mock <IAcademicYearQueryService>(); academicYearQueryServiceMock.Setup(qs => qs.DateIsInPrevAcademicYear(learnActEndDate.Value, academicYear)).Returns(false); academicYearDataServiceMock.Setup(ds => ds.Start()).Returns(startDate); fcsDataServiceMock.Setup(qs => qs.FundingRelationshipFCTExists(_fundingStreamPeriodCodes)).Returns(true); fcsDataServiceMock.Setup(qs => qs.ConRefNumberExists(conRefNumber)).Returns(true); using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError()) { NewRule( fcsDataServiceMock.Object, academicYearDataServiceMock.Object, academicYearQueryServiceMock.Object, validationErrorHandler: validationErrorHandlerMock.Object).Validate(learner); } }
public void Validate_NoError() { DateTime dateOfBirth = new DateTime(2004, 9, 2); DateTime dd04Date = new DateTime(2018, 9, 1); DateTime lastFridayOfJune = new DateTime(2019, 9, 2); ILearner learner = new TestLearner() { DateOfBirthNullable = dateOfBirth, LearningDeliveries = new TestLearningDelivery[] { new TestLearningDelivery() { ProgTypeNullable = 25, AimType = 1, FworkCodeNullable = 2, PwayCodeNullable = 1, LearnStartDate = new DateTime(2018, 8, 1) } } }; var dd07Mock = new Mock <IDerivedData_07Rule>(); var dd04Mock = new Mock <IDerivedData_04Rule>(); var datetimeQueryServiceMock = new Mock <IDateTimeQueryService>(); var academicYearQueryServiceMock = new Mock <IAcademicYearQueryService>(); dd04Mock.Setup(dd => dd.GetEarliesStartDateFor(learner.LearningDeliveries.FirstOrDefault(), learner.LearningDeliveries)).Returns(dd04Date); academicYearQueryServiceMock.Setup(dd => dd.LastFridayInJuneForDateInAcademicYear(dd04Date)).Returns(lastFridayOfJune); using (var validateionErrorHandlerMock = BuildValidationErrorHandlerMockForNoError()) { NewRule( dd04: dd04Mock.Object, dd07: dd07Mock.Object, academicYearQueryService: academicYearQueryServiceMock.Object, validationErrorHandler: validateionErrorHandlerMock.Object).Validate(learner); } }
public void Validate_NoError_Exclusion() { var appFinRecords = new List <IAppFinRecord> { new TestAppFinRecord() { AFinType = ApprenticeshipFinancialRecord.Types.TotalNegotiatedPrice, AFinCode = 1 }, new TestAppFinRecord() }; var learningDelivery = new TestLearningDelivery() { ProgTypeNullable = 25, AimType = 1, FundModel = 99, AppFinRecords = appFinRecords }; var learner = new TestLearner { LearningDeliveries = new List <TestLearningDelivery> { learningDelivery } }; var appFinRecordQueryServiceMock = new Mock <ILearningDeliveryAppFinRecordQueryService>(); appFinRecordQueryServiceMock.Setup(x => x.HasAnyLearningDeliveryAFinCodesForType(appFinRecords, "TNP", new HashSet <int> { 2, 4 })).Returns(false); using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError()) { NewRule(appFinRecordQueryServiceMock.Object, validationErrorHandlerMock.Object).Validate(learner); } }
public void Validate_NoError() { var learningDeliveryFAMs = new List <TestLearningDeliveryFAM>(); var learner = new TestLearner() { ULN = 1, LearningDeliveries = new List <TestLearningDelivery> { new TestLearningDelivery { FundModel = 35, LearnStartDate = new DateTime(2019, 05, 01), LearnPlanEndDate = new DateTime(2019, 05, 10), LearningDeliveryFAMs = learningDeliveryFAMs } } }; var academicDataQueryServiceMock = new Mock <IAcademicYearDataService>(); var dateTimeQueryServiceMock = new Mock <IDateTimeQueryService>(); var fileDataServiceMock = new Mock <IFileDataService>(); var learningDeliveryFAMQueryServiceMock = new Mock <ILearningDeliveryFAMQueryService>(); academicDataQueryServiceMock.Setup(qs => qs.JanuaryFirst()).Returns(new DateTime(2019, 01, 01)); dateTimeQueryServiceMock.Setup(qs => qs.DaysBetween(It.IsAny <DateTime>(), It.IsAny <DateTime>())).Returns(100); fileDataServiceMock.Setup(fd => fd.FilePreparationDate()).Returns(new DateTime(2019, 01, 01)); learningDeliveryFAMQueryServiceMock.Setup(qs => qs.HasLearningDeliveryFAMCodeForType(learningDeliveryFAMs, "ADL", "1")).Returns(false); using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError()) { NewRule( academicDataQueryServiceMock.Object, dateTimeQueryServiceMock.Object, fileDataServiceMock.Object, learningDeliveryFAMQueryServiceMock.Object, validationErrorHandlerMock.Object) .Validate(learner); } }
public void Validate_NoErrors() { var learner = new TestLearner() { LearningDeliveries = new TestLearningDelivery[] { new TestLearningDelivery() { FundModel = 1 } } }; var learningDeliveryFAMQueryServiceMock = new Mock <ILearningDeliveryFAMQueryService>(); learningDeliveryFAMQueryServiceMock.Setup(qs => qs.HasLearningDeliveryFAMType(It.IsAny <IEnumerable <ILearningDeliveryFAM> >(), "ADL")).Returns(false); using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError()) { NewRule(learningDeliveryFAMQueryServiceMock.Object, validationErrorHandlerMock.Object).Validate(learner); } }
public void ValidateNoError_NullLearnerHeEntity() { var learner = new TestLearner() { LearningDeliveries = new List <TestLearningDelivery>() { new TestLearningDelivery() { LearnStartDate = new DateTime(2018, 01, 01), LearningDeliveryHEEntity = new TestLearningDeliveryHE() { UCASAPPID = null } } } }; using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError()) { NewRule(validationErrorHandlerMock.Object).Validate(learner); } }
public void Validate_MultipleDeliveries_Error() { var typeYr = 6; var learner = new TestLearner() { LearningDeliveries = new List <TestLearningDelivery>() { new TestLearningDelivery() { LearningDeliveryHEEntity = new TestLearningDeliveryHE() { TYPEYR = typeYr } }, new TestLearningDelivery() { LearningDeliveryHEEntity = new TestLearningDeliveryHE() { TYPEYR = 1 } }, new TestLearningDelivery() { LearningDeliveryHEEntity = null } } }; var provideLookupDetails = new Mock <IProvideLookupDetails>(); provideLookupDetails.Setup(p => p.Contains(TypeOfStringCodedLookup.TypeYr, typeYr.ToString())).Returns(false); provideLookupDetails.Setup(p => p.Contains(TypeOfStringCodedLookup.TypeYr, "1")).Returns(true); using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForError()) { NewRule(validationErrorHandlerMock.Object, provideLookupDetails.Object).Validate(learner); } }
public void ValidatePasses_OutcomeNotApplicable() { var testLearnAimRef = "12345"; var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError(); var larsMock = new Mock <ILARSDataService>(); larsMock .Setup(m => m.GetDeliveryFor(It.IsAny <string>())) .Returns(new Data.External.LARS.Model.LearningDelivery { LearnAimRef = testLearnAimRef, LearnAimRefType = "0001" }); var lookupMock = new Mock <IProvideLookupDetails>(); lookupMock .Setup(m => m.Contains(TypeOfListItemLookup.LearningAimType, It.IsAny <string>(), It.IsAny <string>())) .Returns(false); var testLearner = new TestLearner { LearningDeliveries = new List <TestLearningDelivery> { new TestLearningDelivery { LearnAimRef = testLearnAimRef, LearnActEndDateNullable = new DateTime(2018, 7, 31), OutcomeNullable = 2, OutGrade = "VVV" } } }; NewRule(validationErrorHandlerMock.Object, larsMock.Object, lookupMock.Object).Validate(testLearner); VerifyErrorHandlerMock(validationErrorHandlerMock); }
public void ProvideDestinationAndProgressionForLearner() { const string testLearnRefNum = "12345"; var learner = new TestLearner { LearnRefNumber = testLearnRefNum }; var learnerDPs = new List <TestLearnerDestinationAndProgression> { new TestLearnerDestinationAndProgression { LearnRefNumber = testLearnRefNum, DPOutcomes = new List <TestDPOutcome> { new TestDPOutcome() } } }; var testMessage = new TestMessage() { LearnerDestinationAndProgressions = learnerDPs }; var messageCacheMock = new Mock <ICache <IMessage> >(); messageCacheMock.SetupGet(mc => mc.Item).Returns(testMessage); var learnerQueryService = NewService(messageCacheMock.Object); var result = learnerQueryService.GetDestinationAndProgressionForLearner(learner.LearnRefNumber); Assert.NotNull(result?.DPOutcomes); Assert.Equal(result.LearnRefNumber, testLearnRefNum); Assert.Equal(1, result.DPOutcomes.Count); }
public void Validate_NoError() { var learner = new TestLearner { LearningDeliveries = new List <TestLearningDelivery>() { new TestLearningDelivery() { EPAOrgID = "EPA001", AppFinRecords = new List <TestAppFinRecord>() { new TestAppFinRecord() { AFinCode = 2, AFinType = "TNP" } } }, new TestLearningDelivery() { EPAOrgID = "EPA002", AppFinRecords = new List <TestAppFinRecord>() { new TestAppFinRecord() { AFinCode = 4, AFinType = "TNP" } } } } }; using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError()) { NewRule(validationErrorHandlerMock.Object).Validate(learner); } }
public void ValidateNoError() { var dateOfBirth = new DateTime(1995, 08, 01); var learnStartDate = new DateTime(2015, 08, 01); var learnPlanEndDate = new DateTime(2016, 09, 01); var learner = new TestLearner() { DateOfBirthNullable = dateOfBirth, LearningDeliveries = new List <TestLearningDelivery>() { new TestLearningDelivery() { LearnStartDate = learnStartDate, LearnPlanEndDate = learnPlanEndDate, FundModel = TypeOfFunding.AdultSkills, ProgTypeNullable = TypeOfLearningProgramme.ApprenticeshipStandard, AimType = TypeOfAim.ProgrammeAim } } }; var dateTimeQueryServiceMock = new Mock <IDateTimeQueryService>(); dateTimeQueryServiceMock.Setup(qs => qs.YearsBetween(dateOfBirth, learnStartDate)).Returns(20); dateTimeQueryServiceMock.Setup(qs => qs.MonthsBetween(learnStartDate, learnPlanEndDate)).Returns(13); var learningDeliveryFamQueryServiceMock = new Mock <ILearningDeliveryFAMQueryService>(); learningDeliveryFamQueryServiceMock .Setup(qs => qs.HasLearningDeliveryFAMType(It.IsAny <IEnumerable <ILearningDeliveryFAM> >(), LearningDeliveryFAMTypeConstants.RES)) .Returns(false); using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError()) { NewRule(dateTimeQueryServiceMock.Object, learningDeliveryFamQueryServiceMock.Object, validationErrorHandlerMock.Object).Validate(learner); } }