public void GetEligibilityRuleForMeetsExpectation(string candidate) { // arrange var mockItem = new Mock <ILearningDelivery>(); mockItem .SetupGet(x => x.ConRefNumber) .Returns(candidate); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var ddRule26 = new Mock <IDerivedData_26Rule>(MockBehavior.Strict); var fcsData = new Mock <IFCSDataService>(MockBehavior.Strict); fcsData .Setup(x => x.GetEligibilityRuleFor(candidate)) .Returns(new Mock <IEsfEligibilityRule>().Object); var common = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict); var sut = new ESMType_14Rule(handler.Object, ddRule26.Object, fcsData.Object, common.Object); // act var result = sut.GetEligibilityRuleFor(mockItem.Object); // assert Assert.NotNull(result); Assert.IsAssignableFrom <IEsfEligibilityRule>(result); handler.VerifyAll(); ddRule26.VerifyAll(); fcsData.VerifyAll(); common.VerifyAll(); }
public void GetDerivedRuleBenefitsIndicatorForMeetsExpectation(string candidate, bool expectation) { // arrange var mockItem = new Mock <ILearningDelivery>(); mockItem .SetupGet(x => x.ConRefNumber) .Returns(candidate); var mockLearner = new Mock <ILearner>(); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var ddRule26 = new Mock <IDerivedData_26Rule>(MockBehavior.Strict); ddRule26 .Setup(x => x.LearnerOnBenefitsAtStartOfCompletedZESF0001AimForContract(mockLearner.Object, candidate)) .Returns(expectation); var fcsData = new Mock <IFCSDataService>(MockBehavior.Strict); var common = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict); var sut = new ESMType_14Rule(handler.Object, ddRule26.Object, fcsData.Object, common.Object); // act var result = sut.GetDerivedRuleBenefitsIndicatorFor(mockLearner.Object, mockItem.Object); // assert Assert.Equal(expectation, result); handler.VerifyAll(); ddRule26.VerifyAll(); fcsData.VerifyAll(); common.VerifyAll(); }
public void InvalidItemRaisesValidationMessage(string contractRef, bool eligibilty, bool derivedResult) { const string LearnRefNumber = "123456789X"; var mockDelivery = new Mock <ILearningDelivery>(); mockDelivery .SetupGet(y => y.ConRefNumber) .Returns(contractRef); mockDelivery .SetupGet(y => y.FundModel) .Returns(70); var deliveries = new List <ILearningDelivery>(); deliveries.Add(mockDelivery.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.ESMType_14, LearnRefNumber, null, Moq.It.IsAny <IEnumerable <IErrorMessageParameter> >())); handler .Setup(x => x.BuildErrorMessageParameter("ConRefNumber", contractRef)) .Returns(new Mock <IErrorMessageParameter>().Object); var ddRule26 = new Mock <IDerivedData_26Rule>(MockBehavior.Strict); ddRule26 .Setup(x => x.LearnerOnBenefitsAtStartOfCompletedZESF0001AimForContract(mockLearner.Object, contractRef)) .Returns(derivedResult); var mockItem = new Mock <IEsfEligibilityRule>(); mockItem .SetupGet(x => x.Benefits) .Returns(eligibilty); var fcsData = new Mock <IFCSDataService>(MockBehavior.Strict); fcsData .Setup(x => x.GetEligibilityRuleFor(contractRef)) .Returns(mockItem.Object); var sut = new ESMType_14Rule(handler.Object, ddRule26.Object, fcsData.Object); sut.Validate(mockLearner.Object); handler.VerifyAll(); ddRule26.VerifyAll(); fcsData.VerifyAll(); }
public void ValidItemDoesNotRaiseValidationMessage(string contractRef, bool?eligibilty, bool derivedResult) { // arrange const string LearnRefNumber = "123456789X"; var mockDelivery = new Mock <ILearningDelivery>(); mockDelivery .SetupGet(y => y.ConRefNumber) .Returns(contractRef); 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 ddRule26 = new Mock <IDerivedData_26Rule>(MockBehavior.Strict); ddRule26 .Setup(x => x.LearnerOnBenefitsAtStartOfCompletedZESF0001AimForContract(mockLearner.Object, contractRef)) .Returns(derivedResult); var mockItem = new Mock <IEsfEligibilityRule>(); mockItem .SetupGet(x => x.Benefits) .Returns(eligibilty); var fcsData = new Mock <IFCSDataService>(MockBehavior.Strict); fcsData .Setup(x => x.GetEligibilityRuleFor(contractRef)) .Returns(mockItem.Object); var common = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict); common .Setup(x => x.HasQualifyingFunding(mockDelivery.Object, 70)) // TypeOfFunding.EuropeanSocialFund .Returns(true); var sut = new ESMType_14Rule(handler.Object, ddRule26.Object, fcsData.Object, common.Object); // act sut.Validate(mockLearner.Object); // assert handler.VerifyAll(); ddRule26.VerifyAll(); fcsData.VerifyAll(); common.VerifyAll(); }