public void HasQualifyingStartWithNullAllocationsMeetsExpectation() { var delivery = new Mock <ILearningDelivery>(); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var fcsData = new Mock <IFCSDataService>(MockBehavior.Strict); var dateTimeQS = new Mock <IDateTimeQueryService>(MockBehavior.Strict); var sut = new LearnStartDate_16Rule(handler.Object, fcsData.Object, dateTimeQS.Object); var result = sut.HasQualifyingStart(delivery.Object, null); Assert.False(result); handler.VerifyAll(); fcsData.VerifyAll(); }
public void HasQualifyingModelMeetsExpectation(int fundModel, bool expectation) { var mockItem = new Mock <ILearningDelivery>(); mockItem .Setup(x => x.FundModel).Returns(fundModel); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var fcsData = new Mock <IFCSDataService>(MockBehavior.Strict); var dateTimeQS = new Mock <IDateTimeQueryService>(MockBehavior.Strict); var sut = new LearnStartDate_16Rule(handler.Object, fcsData.Object, dateTimeQS.Object); var result = sut.HasQualifyingModel(mockItem.Object); Assert.Equal(expectation, result); handler.VerifyAll(); }
public void HasQualifyingStartWithNullAllocationsMeetsExpectation() { // arrange var delivery = new Mock <ILearningDelivery>(); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var fcsData = new Mock <IFCSDataService>(MockBehavior.Strict); var commonOps = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict); var sut = new LearnStartDate_16Rule(handler.Object, fcsData.Object, commonOps.Object); // act var result = sut.HasQualifyingStart(delivery.Object, null); // assert Assert.False(result); handler.VerifyAll(); fcsData.VerifyAll(); commonOps.VerifyAll(); }
public void HasQualifyingStartMeetsExpectation(string contractRef, string candidate, bool expectation) { var delivery = new Mock <ILearningDelivery>(); delivery .SetupGet(x => x.ConRefNumber) .Returns(contractRef); var testDate = DateTime.Parse(candidate); var allocation = new Mock <IFcsContractAllocation>(); allocation .SetupGet(x => x.StartDate) .Returns(testDate); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var fcsData = new Mock <IFCSDataService>(MockBehavior.Strict); var dateTimeQS = new Mock <IDateTimeQueryService>(MockBehavior.Strict); dateTimeQS .Setup(x => x.IsDateBetween(delivery.Object.LearnStartDate, testDate, DateTime.MaxValue, true)) .Returns(expectation); var sut = new LearnStartDate_16Rule(handler.Object, fcsData.Object, dateTimeQS.Object); var result = sut.HasQualifyingStart(delivery.Object, allocation.Object); Assert.Equal(expectation, result); handler.VerifyAll(); fcsData.VerifyAll(); dateTimeQS.VerifyAll(); allocation.VerifyGet(x => x.StartDate, Times.AtLeastOnce); }
public void HasQualifyingStartMeetsExpectation(string contractRef, string candidate, bool expectation) { // arrange var delivery = new Mock <ILearningDelivery>(); delivery .SetupGet(x => x.ConRefNumber) .Returns(contractRef); var testDate = DateTime.Parse(candidate); var allocation = new Mock <IFcsContractAllocation>(); allocation .SetupGet(x => x.StartDate) .Returns(testDate); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var fcsData = new Mock <IFCSDataService>(MockBehavior.Strict); var commonOps = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict); commonOps .Setup(x => x.HasQualifyingStart(delivery.Object, testDate, null)) .Returns(expectation); var sut = new LearnStartDate_16Rule(handler.Object, fcsData.Object, commonOps.Object); // act var result = sut.HasQualifyingStart(delivery.Object, allocation.Object); // assert Assert.Equal(expectation, result); handler.VerifyAll(); fcsData.VerifyAll(); commonOps.VerifyAll(); }
public void GetAllocationsForMeetsExpectation() { // arrange var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var fcsData = new Mock <IFCSDataService>(MockBehavior.Strict); fcsData .Setup(x => x.GetContractAllocationFor(null)) .Returns((IFcsContractAllocation)null); var commonOps = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict); var sut = new LearnStartDate_16Rule(handler.Object, fcsData.Object, commonOps.Object); // act var result = sut.GetAllocationFor(null); // assert Assert.Null(result); handler.VerifyAll(); fcsData.VerifyAll(); commonOps.VerifyAll(); }
public void ValidItemDoesNotRaiseValidationMessage(string contractRef, string candidate) { const string LearnRefNumber = "123456789X"; var testDate = DateTime.Parse(candidate); var delivery = new Mock <ILearningDelivery>(); delivery .SetupGet(x => x.LearnAimRef) .Returns("ZESF0001"); delivery .SetupGet(x => x.ConRefNumber) .Returns(contractRef); delivery .SetupGet(x => x.LearnStartDate) .Returns(testDate); delivery .SetupGet(x => x.FundModel) .Returns(70); var allocation = new Mock <IFcsContractAllocation>(); allocation .SetupGet(x => x.StartDate) .Returns(testDate); var deliveries = new List <ILearningDelivery>(); deliveries.Add(delivery.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); var fcsData = new Mock <IFCSDataService>(MockBehavior.Strict); fcsData .Setup(x => x.GetContractAllocationFor(contractRef)) .Returns(allocation.Object); var dateTimeQS = new Mock <IDateTimeQueryService>(MockBehavior.Strict); dateTimeQS .Setup(x => x.IsDateBetween(delivery.Object.LearnStartDate, testDate, DateTime.MaxValue, true)) .Returns(true); var sut = new LearnStartDate_16Rule(handler.Object, fcsData.Object, dateTimeQS.Object); sut.Validate(mockLearner.Object); handler.VerifyAll(); fcsData.VerifyAll(); allocation.VerifyGet(x => x.StartDate, Times.AtLeastOnce); }
public void InvalidItemRaisesValidationMessage(string contractRef, string candidate) { const string LearnRefNumber = "123456789X"; var testDate = DateTime.Parse(candidate); var delivery = new Mock <ILearningDelivery>(); delivery .SetupGet(x => x.FundModel) .Returns(70); delivery .SetupGet(x => x.LearnAimRef) .Returns("ZESF0001"); delivery .SetupGet(x => x.ConRefNumber) .Returns(contractRef); delivery .SetupGet(x => x.ConRefNumber) .Returns(contractRef); delivery .SetupGet(x => x.LearnStartDate) .Returns(testDate); var allocation = new Mock <IFcsContractAllocation>(); allocation .SetupGet(x => x.StartDate) .Returns(testDate); var allocations = new List <IFcsContractAllocation>(); allocations.Add(allocation.Object); var deliveries = new List <ILearningDelivery>(); deliveries.Add(delivery.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.LearnStartDate_16, LearnRefNumber, 0, Moq.It.IsAny <IEnumerable <IErrorMessageParameter> >())); handler .Setup(x => x.BuildErrorMessageParameter("LearnStartDate", testDate.ToString("d", AbstractRule.RequiredCulture))) .Returns(new Mock <IErrorMessageParameter>().Object); var fcsData = new Mock <IFCSDataService>(MockBehavior.Strict); fcsData .Setup(x => x.GetContractAllocationFor(contractRef)) .Returns(allocation.Object); var dateTimeQS = new Mock <IDateTimeQueryService>(MockBehavior.Strict); dateTimeQS .Setup(x => x.IsDateBetween(delivery.Object.LearnStartDate, testDate, DateTime.MaxValue, true)) .Returns(false); var sut = new LearnStartDate_16Rule(handler.Object, fcsData.Object, dateTimeQS.Object); sut.Validate(mockLearner.Object); handler.VerifyAll(); fcsData.VerifyAll(); allocation.VerifyGet(x => x.StartDate, Times.AtLeastOnce); }
public void ValidItemDoesNotRaiseValidationMessage(string contractRef, string candidate) { // arrange const string LearnRefNumber = "123456789X"; var testDate = DateTime.Parse(candidate); var delivery = new Mock <ILearningDelivery>(); delivery .SetupGet(x => x.LearnAimRef) .Returns("ZESF0001"); // TypeOfAim.References.ESFLearnerStartandAssessment delivery .SetupGet(x => x.ConRefNumber) .Returns(contractRef); delivery .SetupGet(x => x.LearnStartDate) .Returns(testDate); var allocation = new Mock <IFcsContractAllocation>(); allocation .SetupGet(x => x.StartDate) .Returns(testDate); var deliveries = Collection.Empty <ILearningDelivery>(); deliveries.Add(delivery.Object); var safeDeliveries = deliveries.AsSafeReadOnlyList(); var mockLearner = new Mock <ILearner>(); mockLearner .SetupGet(x => x.LearnRefNumber) .Returns(LearnRefNumber); mockLearner .SetupGet(x => x.LearningDeliveries) .Returns(safeDeliveries); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var fcsData = new Mock <IFCSDataService>(MockBehavior.Strict); fcsData .Setup(x => x.GetContractAllocationFor(contractRef)) .Returns(allocation.Object); // pass or fail is based on the return of this function var commonOps = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict); commonOps .Setup(x => x.HasQualifyingFunding(delivery.Object, 70)) // TypeOfFunding.EuropeanSocialFund .Returns(true); commonOps .Setup(x => x.HasQualifyingStart(delivery.Object, testDate, null)) .Returns(true); commonOps .Setup(x => x.HasQualifyingStart(delivery.Object, testDate, null)) .Returns(true); var sut = new LearnStartDate_16Rule(handler.Object, fcsData.Object, commonOps.Object); // act sut.Validate(mockLearner.Object); // assert handler.VerifyAll(); fcsData.VerifyAll(); commonOps.VerifyAll(); }