public void ValidItemDoesNotRaiseValidationMessage(int candidate, params int[] eligibilities) { const string LearnRefNumber = "123456789X"; const string conRefNumber = "test-Con-Ref"; var testDate = DateTime.Parse("2016-06-14"); var deliveries = new List <ILearningDelivery>(); for (int i = -5; i < 1; i++) { deliveries.Add(GetTestDelivery(testDate.AddDays(i), conRefNumber, i)); } var mockStatus = new Mock <ILearnerEmploymentStatus>(); mockStatus .SetupGet(x => x.EmpStat) .Returns(candidate); var employmentStatuses = new ILearnerEmploymentStatus[] { mockStatus.Object }; var mockLearner = new Mock <ILearner>(); mockLearner .SetupGet(x => x.LearnRefNumber) .Returns(LearnRefNumber); mockLearner .SetupGet(x => x.LearningDeliveries) .Returns(deliveries); mockLearner .SetupGet(x => x.LearnerEmploymentStatuses) .Returns(employmentStatuses); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var esfEmploymentStatuses = new List <IEsfEligibilityRuleEmploymentStatus>(); eligibilities.ForEach(x => esfEmploymentStatuses.Add(GetEligibility(x))); var fcsData = new Mock <IFCSDataService>(MockBehavior.Strict); fcsData .Setup(x => x.GetEligibilityRuleEmploymentStatusesFor(conRefNumber)) .Returns(esfEmploymentStatuses); var lEmpQS = new Mock <ILearnerEmploymentStatusQueryService>(MockBehavior.Strict); lEmpQS .Setup(x => x.LearnerEmploymentStatusForDate(employmentStatuses, testDate)) .Returns(mockStatus.Object); var sut = new EmpStat_14Rule(handler.Object, fcsData.Object, lEmpQS.Object); sut.Validate(mockLearner.Object); handler.VerifyAll(); fcsData.VerifyAll(); }
public void GetQualifyingAimMeetsExpectation(string candidate, params string[] d22Dates) { var testDate = DateTime.Parse(candidate); var contractCandidates = new List <DateTime>(); d22Dates.ForEach(x => contractCandidates.Add(DateTime.Parse(x))); var deliveries = new List <ILearningDelivery>(); for (int i = 0; i < contractCandidates.Count; i++) { var mockDelivery = new Mock <ILearningDelivery>(); mockDelivery .SetupGet(x => x.LearnStartDate) .Returns(contractCandidates.ElementAt(i)); mockDelivery .SetupGet(x => x.LearnAimRef) .Returns(AimTypes.References.ESFLearnerStartandAssessment); mockDelivery .SetupGet(x => x.CompStatus) .Returns(CompletionState.HasCompleted); mockDelivery .SetupGet(x => x.FundModel) .Returns(FundModels.EuropeanSocialFund); deliveries.Add(mockDelivery.Object); } var mockItem = new Mock <ILearningDelivery>(); mockItem .SetupGet(x => x.LearnAimRef) .Returns(AimTypes.References.ESFLearnerStartandAssessment); mockItem .SetupGet(x => x.CompStatus) .Returns(CompletionState.HasCompleted); mockItem .SetupGet(x => x.FundModel) .Returns(FundModels.EuropeanSocialFund); mockItem .SetupGet(x => x.LearnStartDate) .Returns(testDate); deliveries.Add(mockItem.Object); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var fcsData = new Mock <IFCSDataService>(MockBehavior.Strict); var lEmpQS = new Mock <ILearnerEmploymentStatusQueryService>(MockBehavior.Strict); var sut = new EmpStat_14Rule(handler.Object, fcsData.Object, lEmpQS.Object); var result = sut.GetQualifyingdAimOn(deliveries); handler.VerifyAll(); fcsData.VerifyAll(); Assert.Equal(mockItem.Object, result); }
public void GetEligibleEmploymentStatusWithNullDeliveryMeetsExpectation() { var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var fcsData = new Mock <IFCSDataService>(MockBehavior.Strict); fcsData .Setup(x => x.GetEligibilityRuleEmploymentStatusesFor(null)) .Returns((IReadOnlyCollection <IEsfEligibilityRuleEmploymentStatus>)null); var lEmpQS = new Mock <ILearnerEmploymentStatusQueryService>(MockBehavior.Strict); var sut = new EmpStat_14Rule(handler.Object, fcsData.Object, lEmpQS.Object); var result = sut.GetEligibilityRulesFor(null); handler.VerifyAll(); fcsData.VerifyAll(); Assert.Empty(result); Assert.IsAssignableFrom <IReadOnlyCollection <IEsfEligibilityRuleEmploymentStatus> >(result); }
public void GetEligibleEmploymentStatusWithNullDeliveryMeetsExpectation() { // arrange var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var fcsData = new Mock <IFCSDataService>(MockBehavior.Strict); fcsData .Setup(x => x.GetEligibilityRuleEmploymentStatusesFor(null)) .Returns((IReadOnlyCollection <IEsfEligibilityRuleEmploymentStatus>)null); var commonOps = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict); var sut = new EmpStat_14Rule(handler.Object, fcsData.Object, commonOps.Object); // act var result = sut.GetEligibilityRulesFor(null); // assert handler.VerifyAll(); fcsData.VerifyAll(); Assert.Empty(result); Assert.IsAssignableFrom <IReadOnlyCollection <IEsfEligibilityRuleEmploymentStatus> >(result); }
public void InvalidItemRaisesValidationMessage(int candidate, params int[] eligibilities) { const string LearnRefNumber = "123456789X"; const string conRefNumber = "test-Con-Ref"; var testDate = DateTime.Parse("2016-06-14"); var deliveries = new List <ILearningDelivery>(); for (int i = -5; i < 1; i++) { deliveries.Add(GetTestDelivery(testDate.AddDays(i), conRefNumber, i)); } var mockStatus = new Mock <ILearnerEmploymentStatus>(); mockStatus .SetupGet(x => x.EmpStat) .Returns(candidate); var employmentStatuses = new ILearnerEmploymentStatus[] { mockStatus.Object }; var mockLearner = new Mock <ILearner>(); mockLearner .SetupGet(x => x.LearnRefNumber) .Returns(LearnRefNumber); mockLearner .SetupGet(x => x.LearningDeliveries) .Returns(deliveries); mockLearner .SetupGet(x => x.LearnerEmploymentStatuses) .Returns(employmentStatuses); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); handler .Setup(x => x.Handle(RuleNameConstants.EmpStat_14, LearnRefNumber, 0, Moq.It.IsAny <IEnumerable <IErrorMessageParameter> >())); handler .Setup(x => x.BuildErrorMessageParameter("EmpStat", candidate)) .Returns(new Mock <IErrorMessageParameter>().Object); handler .Setup(x => x.BuildErrorMessageParameter("ConRefNumber", conRefNumber)) .Returns(new Mock <IErrorMessageParameter>().Object); handler .Setup(x => x.BuildErrorMessageParameter("LearnStartDate", AbstractRule.AsRequiredCultureDate(testDate))) .Returns(new Mock <IErrorMessageParameter>().Object); var esfEmploymentStatuses = new List <IEsfEligibilityRuleEmploymentStatus>(); eligibilities.ForEach(x => esfEmploymentStatuses.Add(GetEligibility(x))); var fcsData = new Mock <IFCSDataService>(MockBehavior.Strict); fcsData .Setup(x => x.GetEligibilityRuleEmploymentStatusesFor(conRefNumber)) .Returns(esfEmploymentStatuses); var lEmpQS = new Mock <ILearnerEmploymentStatusQueryService>(MockBehavior.Strict); lEmpQS .Setup(x => x.LearnerEmploymentStatusForDate(employmentStatuses, testDate)) .Returns(mockStatus.Object); var sut = new EmpStat_14Rule(handler.Object, fcsData.Object, lEmpQS.Object); sut.Validate(mockLearner.Object); handler.VerifyAll(); fcsData.VerifyAll(); }
public void ValidItemDoesNotRaiseValidationMessage(int candidate, params int[] eligibilities) { // arrange const string LearnRefNumber = "123456789X"; const string conRefNumber = "test-Con-Ref"; var testDate = DateTime.Parse("2016-06-14"); var deliveries = Collection.Empty <ILearningDelivery>(); for (int i = -5; i < 1; i++) { deliveries.Add(GetTestDelivery(testDate.AddDays(i), conRefNumber, i)); } var mockStatus = new Mock <ILearnerEmploymentStatus>(); mockStatus .SetupGet(x => x.EmpStat) .Returns(candidate); var statii = new ILearnerEmploymentStatus[] { mockStatus.Object }; var mockLearner = new Mock <ILearner>(); mockLearner .SetupGet(x => x.LearnRefNumber) .Returns(LearnRefNumber); mockLearner .SetupGet(x => x.LearningDeliveries) .Returns(deliveries.AsSafeReadOnlyList()); mockLearner .SetupGet(x => x.LearnerEmploymentStatuses) .Returns(statii); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var employmentStatuses = Collection.Empty <IEsfEligibilityRuleEmploymentStatus>(); eligibilities.ForEach(x => employmentStatuses.Add(GetEligibility(x))); var fcsData = new Mock <IFCSDataService>(MockBehavior.Strict); fcsData .Setup(x => x.GetEligibilityRuleEmploymentStatusesFor(conRefNumber)) .Returns(employmentStatuses); var commonOps = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict); commonOps .Setup(x => x.GetEmploymentStatusOn(testDate, statii)) .Returns(mockStatus.Object); var sut = new EmpStat_14Rule(handler.Object, fcsData.Object, commonOps.Object); // act sut.Validate(mockLearner.Object); // assert handler.VerifyAll(); fcsData.VerifyAll(); }
public void GetQualifyingAimMeetsExpectation(string candidate, params string[] d22Dates) { // arrange var testDate = DateTime.Parse(candidate); var contractCandidates = Collection.Empty <DateTime>(); d22Dates.ForEach(x => contractCandidates.Add(DateTime.Parse(x))); var deliveries = Collection.Empty <ILearningDelivery>(); for (int i = 0; i < contractCandidates.Count; i++) { var mockDelivery = new Mock <ILearningDelivery>(); mockDelivery .SetupGet(x => x.LearnStartDate) .Returns(contractCandidates.ElementAt(i)); mockDelivery .SetupGet(x => x.LearnAimRef) .Returns(TypeOfAim.References.ESFLearnerStartandAssessment); mockDelivery .SetupGet(x => x.CompStatus) .Returns(CompletionState.HasCompleted); mockDelivery .SetupGet(x => x.FundModel) .Returns(TypeOfFunding.EuropeanSocialFund); deliveries.Add(mockDelivery.Object); } var mockItem = new Mock <ILearningDelivery>(); mockItem .SetupGet(x => x.LearnAimRef) .Returns(TypeOfAim.References.ESFLearnerStartandAssessment); mockItem .SetupGet(x => x.CompStatus) .Returns(CompletionState.HasCompleted); mockItem .SetupGet(x => x.FundModel) .Returns(TypeOfFunding.EuropeanSocialFund); mockItem .SetupGet(x => x.LearnStartDate) .Returns(testDate); deliveries.Add(mockItem.Object); var safeDeliveries = deliveries.AsSafeReadOnlyList(); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var fcsData = new Mock <IFCSDataService>(MockBehavior.Strict); var commonOps = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict); var sut = new EmpStat_14Rule(handler.Object, fcsData.Object, commonOps.Object); // act var result = sut.GetQualifyingdAimOn(safeDeliveries); // assert handler.VerifyAll(); fcsData.VerifyAll(); Assert.Equal(mockItem.Object, result); }