public void InvalidItemRaisesValidationMessage() { // arrange const string LearnRefNumber = "123456789X"; var referenceDate = DateTime.Parse("2019-04-19"); var mockDelivery = new Mock <ILearningDelivery>(); mockDelivery .SetupGet(y => y.LearnStartDate) .Returns(referenceDate.AddDays(-1)); mockDelivery .SetupGet(y => y.OrigLearnStartDateNullable) .Returns(referenceDate); mockDelivery .SetupGet(y => y.FundModel) .Returns(35); var deliveries = Collection.Empty <ILearningDelivery>(); deliveries.Add(mockDelivery.Object); var mockLearner = new Mock <ILearner>(); mockLearner .SetupGet(x => x.LearnRefNumber) .Returns(LearnRefNumber); mockLearner .SetupGet(x => x.LearningDeliveries) .Returns(deliveries.AsSafeReadOnlyList()); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); handler .Setup(x => x.Handle( Moq.It.Is <string>(y => y == OrigLearnStartDate_02Rule.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 == PropertyNameConstants.LearnStartDate), referenceDate.AddDays(-1))) .Returns(new Mock <IErrorMessageParameter>().Object); handler .Setup(x => x.BuildErrorMessageParameter( Moq.It.Is <string>(y => y == OrigLearnStartDate_02Rule.MessagePropertyName), referenceDate)) .Returns(new Mock <IErrorMessageParameter>().Object); var sut = new OrigLearnStartDate_02Rule(handler.Object); // act sut.Validate(mockLearner.Object); // assert handler.VerifyAll(); }
public void ValidItemDoesNotRaiseValidationMessage() { // arrange const string LearnRefNumber = "123456789X"; var referenceDate = DateTime.Parse("2019-04-19"); var mockDelivery = new Mock <ILearningDelivery>(); mockDelivery .SetupGet(y => y.LearnStartDate) .Returns(referenceDate); // move into range mockDelivery .SetupGet(y => y.OrigLearnStartDateNullable) .Returns(referenceDate.AddDays(-1)); mockDelivery .SetupGet(y => y.FundModel) .Returns(TypeOfFunding.AdultSkills); var deliveries = Collection.Empty <ILearningDelivery>(); deliveries.Add(mockDelivery.Object); var mockLearner = new Mock <ILearner>(); mockLearner .SetupGet(x => x.LearnRefNumber) .Returns(LearnRefNumber); mockLearner .SetupGet(x => x.LearningDeliveries) .Returns(deliveries.AsSafeReadOnlyList()); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var sut = new OrigLearnStartDate_02Rule(handler.Object); // act sut.Validate(mockLearner.Object); // assert handler.VerifyAll(); }