Пример #1
0
        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();
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #5
0
        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);
        }