public void GetLatestLearningStartForESFContractReturnsExpectedDate(string outDate) { // arrange var learnStartDate = !string.IsNullOrWhiteSpace(outDate) ? DateTime.Parse(outDate) : (DateTime?)null; var deliveries = Collection.EmptyAndReadOnly <ILearningDelivery>(); var mockDel = new Mock <ILearningDelivery>(); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var mockDDRule22 = new Mock <IDerivedData_22Rule>(MockBehavior.Strict); mockDDRule22 .Setup(x => x.GetLatestLearningStartForESFContract(mockDel.Object, deliveries)) .Returns(learnStartDate); var sut = new EmpStat_04Rule(handler.Object, mockDDRule22.Object); // act var result = sut.GetLatestLearningStartForESFContract(mockDel.Object, deliveries); // assert Assert.Equal(learnStartDate, result); }
public void HasQualifyingCompletedContractMeetsExpectation(string inDate, string outDate, bool expectation) { // arrange var empStatDate = DateTime.Parse(inDate); var learnStartDate = !string.IsNullOrWhiteSpace(outDate) ? DateTime.Parse(outDate) : (DateTime?)null; var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var mockDDRule22 = new Mock <IDerivedData_22Rule>(MockBehavior.Strict); mockDDRule22 .Setup(x => x.GetLatestLearningStartForESFContract(Moq.It.IsAny <ILearningDelivery>(), Moq.It.IsAny <IReadOnlyCollection <ILearningDelivery> >())) .Returns(learnStartDate); var sut = new EmpStat_04Rule(handler.Object, mockDDRule22.Object); var deliveries = Collection.Empty <ILearningDelivery>(); if (learnStartDate.HasValue) { var del = new Mock <ILearningDelivery>(); del .SetupGet(x => x.LearnStartDate) .Returns(learnStartDate.Value); deliveries.Add(del.Object); } var mockItem = new Mock <ILearner>(); mockItem .SetupGet(x => x.LearningDeliveries) .Returns(deliveries.AsSafeReadOnlyList()); // act var result = sut.HasQualifyingCompletedContract(mockItem.Object, empStatDate); // assert Assert.Equal(expectation, result); }
public void ValidItemDoesNotRaiseValidationMessage(int empStat) { // arrange const string LearnRefNumber = "123456789X"; var mockStatus = new Mock <ILearnerEmploymentStatus>(); mockStatus .SetupGet(y => y.EmpStat) .Returns(empStat); 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.LearnerEmploymentStatuses) .Returns(statii.AsSafeReadOnlyList()); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var mockDDRule22 = new Mock <IDerivedData_22Rule>(MockBehavior.Strict); var sut = new EmpStat_04Rule(handler.Object, mockDDRule22.Object); // act sut.Validate(mockLearner.Object); // assert handler.VerifyAll(); mockDDRule22.VerifyAll(); }
public void InvalidItemRaisesValidationMessage(string outDate) { // arrange const string LearnRefNumber = "123456789X"; var learnStartDate = DateTime.Parse(outDate); var deliveries = Collection.Empty <ILearningDelivery>(); var mockDel = new Mock <ILearningDelivery>(); mockDel .SetupGet(x => x.LearnStartDate) .Returns(learnStartDate); deliveries.Add(mockDel.Object); var mockStatus = new Mock <ILearnerEmploymentStatus>(); mockStatus .SetupGet(y => y.DateEmpStatApp) .Returns(learnStartDate); mockStatus .SetupGet(y => y.EmpStat) .Returns(TypeOfEmploymentStatus.NotKnownProvided); 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); handler .Setup(x => x.Handle( Moq.It.Is <string>(y => y == EmpStat_04Rule.Name), Moq.It.Is <string>(y => y == LearnRefNumber), null, Moq.It.IsAny <IEnumerable <IErrorMessageParameter> >())); handler .Setup(x => x.BuildErrorMessageParameter( Moq.It.Is <string>(y => y == EmpStat_04Rule.MessagePropertyName), TypeOfEmploymentStatus.NotKnownProvided)) .Returns(new Mock <IErrorMessageParameter>().Object); var mockDDRule22 = new Mock <IDerivedData_22Rule>(MockBehavior.Strict); mockDDRule22 .Setup(x => x.GetLatestLearningStartForESFContract(mockDel.Object, Moq.It.IsAny <IReadOnlyCollection <ILearningDelivery> >())) .Returns(learnStartDate); var sut = new EmpStat_04Rule(handler.Object, mockDDRule22.Object); // act sut.Validate(mockLearner.Object); // assert handler.VerifyAll(); mockDDRule22.VerifyAll(); }