public void InvalidItemRaisesValidationMessage() { // arrange const string LearnRefNumber = "123456789X"; const int AimSeqNumber = 1; var mockLearner = new Mock <ILearner>(); mockLearner .SetupGet(x => x.LearnRefNumber) .Returns(LearnRefNumber); var mockDelivery = new Mock <ILearningDelivery>(); mockDelivery .SetupGet(x => x.AimSeqNumber) .Returns(AimSeqNumber); mockDelivery .SetupGet(x => x.AimType) .Returns(TypeOfAim.ProgrammeAim); mockDelivery .SetupGet(x => x.FundModel) .Returns(TypeOfFunding.ApprenticeshipsFrom1May2017); var mockFinRec = new Mock <IAppFinRecord>(); var records = Collection.Empty <IAppFinRecord>(); records.Add(mockFinRec.Object); mockDelivery .SetupGet(x => x.AppFinRecords) .Returns(records.AsSafeReadOnlyList()); var deliveries = Collection.Empty <ILearningDelivery>(); 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 == AFinType_12Rule.Name), Moq.It.Is <string>(y => y == LearnRefNumber), AimSeqNumber, Moq.It.IsAny <IEnumerable <IErrorMessageParameter> >())); mockHandler .Setup(x => x.BuildErrorMessageParameter( Moq.It.Is <string>(y => y == "AFinType"), Moq.It.Is <string>(y => y == "TNP"))) .Returns(new Mock <IErrorMessageParameter>().Object); var sut = new AFinType_12Rule(mockHandler.Object); // act sut.Validate(mockLearner.Object); // assert mockHandler.VerifyAll(); }
public void ValidItemDoesNotRaiseAValidationMessage() { // arrange const string LearnRefNumber = "123456789X"; var mockLearner = new Mock <ILearner>(); mockLearner .SetupGet(x => x.LearnRefNumber) .Returns(LearnRefNumber); var mockDelivery = new Mock <ILearningDelivery>(); mockDelivery .SetupGet(x => x.AimType) .Returns(TypeOfAim.ProgrammeAim); mockDelivery .SetupGet(x => x.FundModel) .Returns(TypeOfFunding.ApprenticeshipsFrom1May2017); var mockFinRec = new Mock <IAppFinRecord>(); mockFinRec .SetupGet(x => x.AFinType) .Returns(ApprenticeshipFinancialRecord.Types.TotalNegotiatedPrice); var records = Collection.Empty <IAppFinRecord>(); records.Add(mockFinRec.Object); mockDelivery .SetupGet(x => x.AppFinRecords) .Returns(records.AsSafeReadOnlyList()); var deliveries = Collection.Empty <ILearningDelivery>(); deliveries.Add(mockDelivery.Object); mockLearner.SetupGet(x => x.LearningDeliveries).Returns(deliveries.AsSafeReadOnlyList()); var mockHandler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var sut = new AFinType_12Rule(mockHandler.Object); // act sut.Validate(mockLearner.Object); // assert mockHandler.VerifyAll(); }