public void ValidItemDoesNotRaiseValidationMessage() { // arrange const string learnRefNumber = "123456789X"; var mockDelivery = new Mock <ILearningDelivery>(); 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 commonChecks = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict); commonChecks .Setup(x => x.IsSteelWorkerRedundancyTraining(mockDelivery.Object)) .Returns(false); commonChecks .Setup(x => x.IsTraineeship(mockDelivery.Object)) .Returns(true); commonChecks .Setup(x => x.HasQualifyingFunding(mockDelivery.Object, TypeOfFunding.AdultSkills)) .Returns(true); var sut = new LearnAimRef_86Rule(handler.Object, commonChecks.Object); // act sut.Validate(mockLearner.Object); // assert handler.VerifyAll(); commonChecks.VerifyAll(); }
public void InvalidItemRaisesValidationMessage(int candidate) { // arrange const string learnRefNumber = "123456789X"; var mockDelivery = new Mock <ILearningDelivery>(); mockDelivery .SetupGet(y => y.FundModel) .Returns(TypeOfFunding.AdultSkills); mockDelivery .SetupGet(y => y.ProgTypeNullable) .Returns(candidate); mockDelivery .SetupGet(y => y.LearnAimRef) .Returns(TypeOfAim.References.WorkExperience); 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("LearnAimRef_86", learnRefNumber, 0, Moq.It.IsAny <IEnumerable <IErrorMessageParameter> >())); handler .Setup(x => x.BuildErrorMessageParameter("ProgType", candidate)) .Returns(new Mock <IErrorMessageParameter>().Object); handler .Setup(x => x.BuildErrorMessageParameter("LearnAimRef", TypeOfAim.References.WorkExperience)) .Returns(new Mock <IErrorMessageParameter>().Object); handler .Setup(x => x.BuildErrorMessageParameter("FundModel", TypeOfFunding.AdultSkills)) .Returns(new Mock <IErrorMessageParameter>().Object); var commonChecks = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict); commonChecks .Setup(x => x.IsSteelWorkerRedundancyTraining(mockDelivery.Object)) .Returns(false); commonChecks .Setup(x => x.IsTraineeship(mockDelivery.Object)) .Returns(false); commonChecks .Setup(x => x.HasQualifyingFunding(mockDelivery.Object, TypeOfFunding.AdultSkills)) .Returns(true); var sut = new LearnAimRef_86Rule(handler.Object, commonChecks.Object); // act sut.Validate(mockLearner.Object); // assert handler.VerifyAll(); commonChecks.VerifyAll(); }