public void HasKnownLDCSCodeMeetsExpectation(string candidate, bool expectation) { var mockDelivery = new Mock <ILearningDelivery>(); mockDelivery .SetupGet(x => x.LearnAimRef) .Returns(candidate); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var service = new Mock <ILARSDataService>(MockBehavior.Strict); service .Setup(x => x.HasKnownLearnDirectClassSystemCode3For(candidate)) .Returns(expectation); var dateTimeQS = new Mock <IDateTimeQueryService>(MockBehavior.Strict); var sut = new PCTLDCS_01Rule(handler.Object, service.Object, dateTimeQS.Object); var result = sut.HasKnownLDCSCode(mockDelivery.Object); handler.VerifyAll(); service.VerifyAll(); dateTimeQS.VerifyAll(); Assert.Equal(expectation, result); }
public void HasKnownLDCSCodeMeetsExpectation(string candidate, bool expectation) { // arrange var mockDelivery = new Mock <ILearningDelivery>(); mockDelivery .SetupGet(x => x.LearnAimRef) .Returns(candidate); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var service = new Mock <ILARSDataService>(MockBehavior.Strict); service .Setup(x => x.HasKnownLearnDirectClassSystemCode3For(candidate)) .Returns(expectation); var commonChecks = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict); var sut = new PCTLDCS_01Rule(handler.Object, service.Object, commonChecks.Object); // act var result = sut.HasKnownLDCSCode(mockDelivery.Object); // assert handler.VerifyAll(); service.VerifyAll(); commonChecks.VerifyAll(); Assert.Equal(expectation, result); }
public void ValidItemDoesNotRaiseValidationMessage() { const string learnRefNumber = "123456789X"; const string learnAimRef = "salddfkjeifdnase"; var testDate = DateTime.Parse("2016-08-01"); var mockHE = new Mock <ILearningDeliveryHE>(); mockHE .SetupGet(x => x.PCTLDCSNullable) .Returns(18.345M); var mockDelivery = new Mock <ILearningDelivery>(); mockDelivery .SetupGet(y => y.LearnAimRef) .Returns(learnAimRef); mockDelivery .SetupGet(y => y.LearnStartDate) .Returns(testDate); mockDelivery .SetupGet(y => y.FundModel) .Returns(FundModels.AdultSkills); mockDelivery .SetupGet(x => x.LearningDeliveryHEEntity) .Returns(mockHE.Object); 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); var service = new Mock <ILARSDataService>(MockBehavior.Strict); service .Setup(x => x.HasKnownLearnDirectClassSystemCode3For(learnAimRef)) .Returns(true); var dateTimeQS = new Mock <IDateTimeQueryService>(MockBehavior.Strict); dateTimeQS .Setup(x => x.IsDateBetween(mockDelivery.Object.LearnStartDate, PCTLDCS_01Rule.FirstViableDate, DateTime.MaxValue, true)) .Returns(true); var sut = new PCTLDCS_01Rule(handler.Object, service.Object, dateTimeQS.Object); sut.Validate(mockLearner.Object); handler.VerifyAll(); service.VerifyAll(); dateTimeQS.VerifyAll(); }
public void InvalidItemRaisesValidationMessage() { const string learnRefNumber = "123456789X"; const string learnAimRef = "salddfkjeifdnase"; var testDate = DateTime.Parse("2016-08-01"); var mockHE = new Mock <ILearningDeliveryHE>(); var mockDelivery = new Mock <ILearningDelivery>(); mockDelivery .SetupGet(y => y.LearnAimRef) .Returns(learnAimRef); mockDelivery .SetupGet(y => y.LearnStartDate) .Returns(testDate); mockDelivery .SetupGet(y => y.FundModel) .Returns(FundModels.AdultSkills); mockDelivery .SetupGet(x => x.LearningDeliveryHEEntity) .Returns(mockHE.Object); 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.PCTLDCS_01, learnRefNumber, 0, Moq.It.IsAny <IEnumerable <IErrorMessageParameter> >())); handler .Setup(x => x.BuildErrorMessageParameter("LearnAimRef", learnAimRef)) .Returns(new Mock <IErrorMessageParameter>().Object); handler .Setup(x => x.BuildErrorMessageParameter("LearnStartDate", testDate.ToString("d", AbstractRule.RequiredCulture))) .Returns(new Mock <IErrorMessageParameter>().Object); handler .Setup(x => x.BuildErrorMessageParameter("FundModel", 35)) .Returns(new Mock <IErrorMessageParameter>().Object); var service = new Mock <ILARSDataService>(MockBehavior.Strict); service .Setup(x => x.HasKnownLearnDirectClassSystemCode3For(learnAimRef)) .Returns(true); var dateTimeQS = new Mock <IDateTimeQueryService>(MockBehavior.Strict); dateTimeQS .Setup(x => x.IsDateBetween(mockDelivery.Object.LearnStartDate, PCTLDCS_01Rule.FirstViableDate, DateTime.MaxValue, true)) .Returns(true); var sut = new PCTLDCS_01Rule(handler.Object, service.Object, dateTimeQS.Object); sut.Validate(mockLearner.Object); handler.VerifyAll(); service.VerifyAll(); dateTimeQS.VerifyAll(); }
public void ValidItemDoesNotRaiseValidationMessage() { // arrange const string learnRefNumber = "123456789X"; const string learnAimRef = "salddfkjeifdnase"; var testDate = DateTime.Parse("2016-08-01"); var mockHE = new Mock <ILearningDeliveryHE>(); mockHE .SetupGet(x => x.PCTLDCSNullable) .Returns(18.345M); var mockDelivery = new Mock <ILearningDelivery>(); mockDelivery .SetupGet(y => y.LearnAimRef) .Returns(learnAimRef); mockDelivery .SetupGet(y => y.LearnStartDate) .Returns(testDate); mockDelivery .SetupGet(y => y.FundModel) .Returns(TypeOfFunding.AdultSkills); mockDelivery .SetupGet(x => x.LearningDeliveryHEEntity) .Returns(mockHE.Object); 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 service = new Mock <ILARSDataService>(MockBehavior.Strict); service .Setup(x => x.HasKnownLearnDirectClassSystemCode3For(learnAimRef)) .Returns(true); var commonChecks = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict); commonChecks .Setup(x => x.HasQualifyingStart(mockDelivery.Object, PCTLDCS_01Rule.FirstViableDate, null)) .Returns(true); var sut = new PCTLDCS_01Rule(handler.Object, service.Object, commonChecks.Object); // act sut.Validate(mockLearner.Object); // assert handler.VerifyAll(); service.VerifyAll(); commonChecks.VerifyAll(); }
public void InvalidItemRaisesValidationMessage() { // arrange const string learnRefNumber = "123456789X"; const string learnAimRef = "salddfkjeifdnase"; var testDate = DateTime.Parse("2016-08-01"); var mockHE = new Mock <ILearningDeliveryHE>(); var mockDelivery = new Mock <ILearningDelivery>(); mockDelivery .SetupGet(y => y.LearnAimRef) .Returns(learnAimRef); mockDelivery .SetupGet(y => y.LearnStartDate) .Returns(testDate); mockDelivery .SetupGet(y => y.FundModel) .Returns(TypeOfFunding.AdultSkills); mockDelivery .SetupGet(x => x.LearningDeliveryHEEntity) .Returns(mockHE.Object); 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(RuleNameConstants.PCTLDCS_01, learnRefNumber, 0, Moq.It.IsAny <IEnumerable <IErrorMessageParameter> >())); handler .Setup(x => x.BuildErrorMessageParameter("LearnAimRef", learnAimRef)) .Returns(new Mock <IErrorMessageParameter>().Object); handler .Setup(x => x.BuildErrorMessageParameter("LearnStartDate", testDate.ToString("d", AbstractRule.RequiredCulture))) .Returns(new Mock <IErrorMessageParameter>().Object); handler .Setup(x => x.BuildErrorMessageParameter("FundModel", 35)) // TypeOfFunding.AdultSkills .Returns(new Mock <IErrorMessageParameter>().Object); var service = new Mock <ILARSDataService>(MockBehavior.Strict); service .Setup(x => x.HasKnownLearnDirectClassSystemCode3For(learnAimRef)) .Returns(true); var commonChecks = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict); commonChecks .Setup(x => x.HasQualifyingStart(mockDelivery.Object, PCTLDCS_01Rule.FirstViableDate, null)) .Returns(true); var sut = new PCTLDCS_01Rule(handler.Object, service.Object, commonChecks.Object); // act sut.Validate(mockLearner.Object); // assert handler.VerifyAll(); service.VerifyAll(); commonChecks.VerifyAll(); }