public void GetYearOfLearningCommencementDateMeetsExpectation(string candidate) { // arrange var testDate = DateTime.Parse(candidate); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var mockDDRule07 = new Mock <IDerivedData_07Rule>(MockBehavior.Strict); var yearData = new Mock <IAcademicYearDataService>(MockBehavior.Strict); yearData .Setup(x => x.GetAcademicYearOfLearningDate(testDate, AcademicYearDates.PreviousYearEnd)) .Returns(DateTime.Today); var sut = new EmpStat_01Rule(handler.Object, mockDDRule07.Object, yearData.Object); // act, not interested in the result just that we hit a strict signature sut.GetYearOfLearningCommencementDate(testDate); // assert handler.VerifyAll(); mockDDRule07.VerifyAll(); yearData.VerifyAll(); }
public void IsApprenticeshipMeetsExpectation(bool expectation) { // arrange var mockItem = new Mock <ILearningDelivery>(); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var mockDDRule07 = new Mock <IDerivedData_07Rule>(MockBehavior.Strict); mockDDRule07 .Setup(x => x.IsApprenticeship(null)) .Returns(expectation); var yeardata = new Mock <IAcademicYearDataService>(MockBehavior.Strict); var sut = new EmpStat_01Rule(handler.Object, mockDDRule07.Object, yeardata.Object); // act var result = sut.IsApprenticeship(mockItem.Object); // assert Assert.Equal(expectation, result); handler.VerifyAll(); mockDDRule07.VerifyAll(); }
public void ValidItemDoesNotRaiseValidationMessage(int fundModel, string learnStart, string previousYearEnd) { // arrange const string LearnRefNumber = "123456789X"; var testDate = DateTime.Parse(learnStart); var mockDelivery = new Mock <ILearningDelivery>(); mockDelivery .SetupGet(y => y.FundModel) .Returns(fundModel); mockDelivery .SetupGet(y => y.LearnStartDate) .Returns(testDate); mockDelivery .SetupGet(y => y.ProgTypeNullable) .Returns(TypeOfLearningProgramme.IntermediateLevelApprenticeship); var deliveries = Collection.Empty <ILearningDelivery>(); deliveries.Add(mockDelivery.Object); // ensure the status is INSIDE the qualifying date range var mockStatus = new Mock <ILearnerEmploymentStatus>(); mockStatus .SetupGet(y => y.DateEmpStatApp) .Returns(testDate); var statii = Collection.Empty <ILearnerEmploymentStatus>(); statii.Add(mockStatus.Object); var mockLearner = new Mock <ILearner>(); mockLearner .SetupGet(x => x.LearnRefNumber) .Returns(LearnRefNumber); mockLearner .SetupGet(x => x.LearningDeliveries) .Returns(deliveries.AsSafeReadOnlyList()); mockLearner .SetupGet(x => x.LearnerEmploymentStatuses) .Returns(statii.AsSafeReadOnlyList()); // get the learner inside the qualifying date range mockLearner .SetupGet(x => x.DateOfBirthNullable) .Returns(testDate.AddYears(-20)); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var mockDDRule07 = new Mock <IDerivedData_07Rule>(MockBehavior.Strict); mockDDRule07 .Setup(x => x.IsApprenticeship(Moq.It.IsAny <int>())) .Returns(false); var yearData = new Mock <IAcademicYearDataService>(MockBehavior.Strict); yearData .Setup(x => x.GetAcademicYearOfLearningDate(testDate, AcademicYearDates.PreviousYearEnd)) .Returns(DateTime.Parse(previousYearEnd)); var sut = new EmpStat_01Rule(handler.Object, mockDDRule07.Object, yearData.Object); // act sut.Validate(mockLearner.Object); // assert handler.VerifyAll(); mockDDRule07.VerifyAll(); yearData.VerifyAll(); }