public void InvalidItemRaisesValidationMessage(string candidate) { // arrange const string LearnRefNumber = "123456789X"; var testDate = DateTime.Parse(candidate); var delivery = new Mock <ILearningDelivery>(); delivery .SetupGet(x => x.LearnStartDate) .Returns(testDate); var deliveries = Collection.Empty <ILearningDelivery>(); deliveries.Add(delivery.Object); var safeDeliveries = deliveries.AsSafeReadOnlyList(); var mockLearner = new Mock <ILearner>(); mockLearner .SetupGet(x => x.LearnRefNumber) .Returns(LearnRefNumber); mockLearner .SetupGet(x => x.LearningDeliveries) .Returns(safeDeliveries); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); handler .Setup(x => x.Handle(RuleNameConstants.LearnStartDate_15, LearnRefNumber, 0, Moq.It.IsAny <IEnumerable <IErrorMessageParameter> >())); handler .Setup(x => x.BuildErrorMessageParameter("LearnStartDate", testDate.ToString("d", AbstractRule.RequiredCulture))) .Returns(new Mock <IErrorMessageParameter>().Object); var ddRule22 = new Mock <IDerivedData_22Rule>(MockBehavior.Strict); ddRule22 .Setup(x => x.GetLatestLearningStartForESFContract(delivery.Object, safeDeliveries)) .Returns(testDate); // pass or fail is based on the return of this function var commonOps = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict); commonOps .Setup(x => x.HasQualifyingStart(delivery.Object, testDate, null)) .Returns(false); var sut = new LearnStartDate_15Rule(handler.Object, ddRule22.Object, commonOps.Object); // act sut.Validate(mockLearner.Object); // assert handler.VerifyAll(); ddRule22.VerifyAll(); commonOps.VerifyAll(); }
public void InvalidItemRaisesValidationMessage(string candidate) { const string LearnRefNumber = "123456789X"; var testDate = DateTime.Parse(candidate); var delivery = new Mock <ILearningDelivery>(); delivery .SetupGet(x => x.LearnStartDate) .Returns(testDate); var deliveries = new List <ILearningDelivery> { delivery.Object }; var mockLearner = new Mock <ILearner>(); mockLearner .SetupGet(x => x.LearnRefNumber) .Returns(LearnRefNumber); mockLearner .SetupGet(x => x.LearningDeliveries) .Returns(deliveries); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); handler .Setup(x => x.Handle(RuleNameConstants.LearnStartDate_15, LearnRefNumber, 0, Moq.It.IsAny <IEnumerable <IErrorMessageParameter> >())); handler .Setup(x => x.BuildErrorMessageParameter("LearnStartDate", testDate.ToString("d", AbstractRule.RequiredCulture))) .Returns(new Mock <IErrorMessageParameter>().Object); var ddRule22 = new Mock <IDerivedData_22Rule>(MockBehavior.Strict); ddRule22 .Setup(x => x.GetLatestLearningStartForESFContract(delivery.Object, deliveries)) .Returns(testDate); var dateTimeQS = new Mock <IDateTimeQueryService>(MockBehavior.Strict); dateTimeQS .Setup(x => x.IsDateBetween(delivery.Object.LearnStartDate, testDate, DateTime.MaxValue, true)) .Returns(false); var sut = new LearnStartDate_15Rule(handler.Object, ddRule22.Object, dateTimeQS.Object); sut.Validate(mockLearner.Object); handler.VerifyAll(); ddRule22.VerifyAll(); dateTimeQS.VerifyAll(); }
public void ValidItemDoesNotRaiseValidationMessage(string candidate) { // arrange const string LearnRefNumber = "123456789X"; var testDate = DateTime.Parse(candidate); var delivery = new Mock <ILearningDelivery>(); delivery .SetupGet(x => x.LearnStartDate) .Returns(testDate); var deliveries = Collection.Empty <ILearningDelivery>(); deliveries.Add(delivery.Object); var safeDeliveries = deliveries.AsSafeReadOnlyList(); var mockLearner = new Mock <ILearner>(); mockLearner .SetupGet(x => x.LearnRefNumber) .Returns(LearnRefNumber); mockLearner .SetupGet(x => x.LearningDeliveries) .Returns(safeDeliveries); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var ddRule22 = new Mock <IDerivedData_22Rule>(MockBehavior.Strict); ddRule22 .Setup(x => x.GetLatestLearningStartForESFContract(delivery.Object, safeDeliveries)) .Returns(testDate); // pass or fail is based on the return of this function var commonOps = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict); commonOps .Setup(x => x.HasQualifyingStart(delivery.Object, testDate, null)) .Returns(true); var sut = new LearnStartDate_15Rule(handler.Object, ddRule22.Object, commonOps.Object); // act sut.Validate(mockLearner.Object); // assert handler.VerifyAll(); ddRule22.VerifyAll(); commonOps.VerifyAll(); }
public void ValidItemDoesNotRaiseValidationMessage(string candidate) { const string LearnRefNumber = "123456789X"; var testDate = DateTime.Parse(candidate); var delivery = new Mock <ILearningDelivery>(); delivery .SetupGet(x => x.LearnStartDate) .Returns(testDate); var deliveries = new List <ILearningDelivery> { delivery.Object }; var mockLearner = new Mock <ILearner>(); mockLearner .SetupGet(x => x.LearnRefNumber) .Returns(LearnRefNumber); mockLearner .SetupGet(x => x.LearningDeliveries) .Returns(deliveries); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var ddRule22 = new Mock <IDerivedData_22Rule>(MockBehavior.Strict); ddRule22 .Setup(x => x.GetLatestLearningStartForESFContract(delivery.Object, deliveries)) .Returns(testDate); var dateTimeQS = new Mock <IDateTimeQueryService>(MockBehavior.Strict); dateTimeQS .Setup(x => x.IsDateBetween(delivery.Object.LearnStartDate, testDate, DateTime.MaxValue, true)) .Returns(true); var sut = new LearnStartDate_15Rule(handler.Object, ddRule22.Object, dateTimeQS.Object); sut.Validate(mockLearner.Object); handler.VerifyAll(); ddRule22.VerifyAll(); dateTimeQS.VerifyAll(); }