public void InvalidItemRaisesValidationMessage(params int[] progTypes) { // arrange const string LearnRefNumber = "123456789X"; var startDate = new DateTime(2018, 9, 1); var mockLearner = new Mock <ILearner>(); mockLearner .SetupGet(x => x.LearnRefNumber) .Returns(LearnRefNumber); var deliveries = Collection.Empty <ILearningDelivery>(); progTypes.ForEach(x => { var mockDelivery = new Mock <ILearningDelivery>(); mockDelivery .SetupGet(y => y.ProgTypeNullable) .Returns(x); mockDelivery .SetupGet(y => y.LearnStartDate) .Returns(startDate); deliveries.Add(mockDelivery.Object); }); mockLearner .SetupGet(x => x.LearningDeliveries) .Returns(deliveries.AsSafeReadOnlyList()); var mockHandler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); mockHandler.Setup(x => x.Handle( Moq.It.Is <string>(y => y == ProgType_03Rule.Name), Moq.It.Is <string>(y => y == LearnRefNumber), 0, Moq.It.IsAny <IEnumerable <IErrorMessageParameter> >())); mockHandler .Setup(x => x.BuildErrorMessageParameter( Moq.It.Is <string>(y => y == "ProgType"), Moq.It.IsAny <int?>())) .Returns(new Mock <IErrorMessageParameter>().Object); mockHandler .Setup(x => x.BuildErrorMessageParameter( Moq.It.Is <string>(y => y == "LearnStartDate"), Moq.It.Is <DateTime>(y => y == startDate))) .Returns(new Mock <IErrorMessageParameter>().Object); var sut = new ProgType_03Rule(mockHandler.Object); // act sut.Validate(mockLearner.Object); // assert mockHandler.VerifyAll(); }
public void ValidItemDoesNotRaiseAValidationMessage(params int[] progTypes) { // arrange const string LearnRefNumber = "123456789X"; var mockLearner = new Mock <ILearner>(); mockLearner .SetupGet(x => x.LearnRefNumber) .Returns(LearnRefNumber); var deliveries = Collection.Empty <ILearningDelivery>(); progTypes.ForEach(x => { var mockDelivery = new Mock <ILearningDelivery>(); mockDelivery .SetupGet(y => y.ProgTypeNullable) .Returns(x); deliveries.Add(mockDelivery.Object); }); mockLearner .SetupGet(x => x.LearningDeliveries) .Returns(deliveries.AsSafeReadOnlyList()); var mockHandler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var sut = new ProgType_03Rule(mockHandler.Object); // act sut.Validate(mockLearner.Object); // assert mockHandler.VerifyAll(); }
public void ValidItemDoesNotRaiseAValidationMessage(params int[] progTypes) { const string LearnRefNumber = "123456789X"; var mockLearner = new Mock <ILearner>(); mockLearner .SetupGet(x => x.LearnRefNumber) .Returns(LearnRefNumber); var deliveries = new List <ILearningDelivery>(); progTypes.ForEach(x => { var mockDelivery = new Mock <ILearningDelivery>(); mockDelivery .SetupGet(y => y.ProgTypeNullable) .Returns(x); deliveries.Add(mockDelivery.Object); }); mockLearner .SetupGet(x => x.LearningDeliveries) .Returns(deliveries); var mockHandler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var lookupMock = new Mock <IProvideLookupDetails>(); lookupMock.Setup(x => x.Contains(TypeOfIntegerCodedLookup.ProgType, It.IsAny <int>())).Returns(true); var sut = new ProgType_03Rule(mockHandler.Object, lookupMock.Object); sut.Validate(mockLearner.Object); mockHandler.VerifyAll(); }