public void ValidItemDoesNotRaiseValidationMessage(string learnStart, int dateOffset) { const string LearnRefNumber = "123456789X"; var testDate = DateTime.Parse(learnStart); var mockDelivery = new Mock <ILearningDelivery>(); mockDelivery .SetupGet(y => y.LearnStartDate) .Returns(testDate); mockDelivery .SetupGet(y => y.AimType) .Returns(AimTypes.ProgrammeAim); mockDelivery .SetupGet(y => y.ProgTypeNullable) .Returns(ProgTypes.ApprenticeshipStandard); var deliveries = new List <ILearningDelivery>(); deliveries.Add(mockDelivery.Object); var mockStatus = new Mock <ILearnerEmploymentStatus>(); mockStatus .SetupGet(y => y.DateEmpStatApp) .Returns(testDate.AddDays(dateOffset)); var statii = new List <ILearnerEmploymentStatus>(); statii.Add(mockStatus.Object); var mockLearner = new Mock <ILearner>(); mockLearner .SetupGet(x => x.LearnRefNumber) .Returns(LearnRefNumber); mockLearner .SetupGet(x => x.LearningDeliveries) .Returns(deliveries); mockLearner .SetupGet(x => x.LearnerEmploymentStatuses) .Returns(statii); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var mockDDRule07 = new Mock <IDerivedData_07Rule>(MockBehavior.Strict); mockDDRule07 .Setup(x => x.IsApprenticeship(ProgTypes.ApprenticeshipStandard)) .Returns(true); var sut = new EmpStat_09Rule(handler.Object, mockDDRule07.Object); sut.Validate(mockLearner.Object); handler.VerifyAll(); mockDDRule07.VerifyAll(); }
public void IsApprenticeshipMeetsExpectation(bool expectation) { 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 sut = new EmpStat_09Rule(handler.Object, mockDDRule07.Object); var result = sut.IsApprenticeship(mockItem.Object); Assert.Equal(expectation, result); handler.VerifyAll(); mockDDRule07.VerifyAll(); }
public void ValidItemDoesNotRaiseValidationMessage(string learnStart, int dateOffset) { // arrange const string LearnRefNumber = "123456789X"; var testDate = DateTime.Parse(learnStart); var mockDelivery = new Mock <ILearningDelivery>(); mockDelivery .SetupGet(y => y.LearnStartDate) .Returns(testDate); mockDelivery .SetupGet(y => y.AimType) .Returns(TypeOfAim.ProgrammeAim); mockDelivery .SetupGet(y => y.ProgTypeNullable) .Returns(TypeOfLearningProgramme.ApprenticeshipStandard); 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.AddDays(dateOffset)); 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()); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var mockDDRule07 = new Mock <IDerivedData_07Rule>(MockBehavior.Strict); mockDDRule07 .Setup(x => x.IsApprenticeship(TypeOfLearningProgramme.ApprenticeshipStandard)) .Returns(true); var sut = new EmpStat_09Rule(handler.Object, mockDDRule07.Object); // act sut.Validate(mockLearner.Object); // assert handler.VerifyAll(); mockDDRule07.VerifyAll(); }
public void InvalidItemRaisesValidationMessage(string learnStart, int dateOffset) { const string LearnRefNumber = "123456789X"; var testDate = DateTime.Parse(learnStart); var mockDelivery = new Mock <ILearningDelivery>(); mockDelivery .SetupGet(y => y.LearnStartDate) .Returns(testDate); mockDelivery .SetupGet(y => y.AimType) .Returns(AimTypes.ProgrammeAim); mockDelivery .SetupGet(y => y.ProgTypeNullable) .Returns(ProgTypes.ApprenticeshipStandard); var deliveries = new List <ILearningDelivery>(); deliveries.Add(mockDelivery.Object); var mockStatus = new Mock <ILearnerEmploymentStatus>(); mockStatus .SetupGet(y => y.DateEmpStatApp) .Returns(testDate.AddDays(dateOffset)); var statii = new List <ILearnerEmploymentStatus>(); statii.Add(mockStatus.Object); var mockLearner = new Mock <ILearner>(); mockLearner .SetupGet(x => x.LearnRefNumber) .Returns(LearnRefNumber); mockLearner .SetupGet(x => x.LearningDeliveries) .Returns(deliveries); mockLearner .SetupGet(x => x.LearnerEmploymentStatuses) .Returns(statii); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); handler .Setup(x => x.Handle( Moq.It.Is <string>(y => y == EmpStat_09Rule.Name), Moq.It.Is <string>(y => y == LearnRefNumber), 0, Moq.It.IsAny <IEnumerable <IErrorMessageParameter> >())); handler .Setup(x => x.BuildErrorMessageParameter( Moq.It.Is <string>(y => y == EmpStat_09Rule.MessagePropertyName), "(missing)")) .Returns(new Mock <IErrorMessageParameter>().Object); handler .Setup(x => x.BuildErrorMessageParameter( Moq.It.Is <string>(y => y == PropertyNameConstants.LearnStartDate), testDate)) .Returns(new Mock <IErrorMessageParameter>().Object); var mockDDRule07 = new Mock <IDerivedData_07Rule>(MockBehavior.Strict); mockDDRule07 .Setup(x => x.IsApprenticeship(ProgTypes.ApprenticeshipStandard)) .Returns(true); var sut = new EmpStat_09Rule(handler.Object, mockDDRule07.Object); sut.Validate(mockLearner.Object); handler.VerifyAll(); mockDDRule07.VerifyAll(); }