Пример #1
0
        public void IsExcludedMeetsExpectation(bool isSP, bool isRES, bool expectation)
        {
            // arrange
            var handler   = new Mock <IValidationErrorHandler>(MockBehavior.Strict);
            var ddRule04  = new Mock <IDerivedData_04Rule>(MockBehavior.Strict);
            var larsData  = new Mock <ILARSDataService>(MockBehavior.Strict);
            var commonOps = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict);

            commonOps
            .Setup(x => x.IsStandardApprencticeship(null))
            .Returns(isSP);
            if (!isSP)
            {
                commonOps
                .Setup(x => x.IsRestart(null))
                .Returns(isRES);
            }

            var sut = new LearnStartDate_07Rule(handler.Object, ddRule04.Object, larsData.Object, commonOps.Object);

            // act
            var result = sut.IsExcluded(null);

            // assert
            handler.VerifyAll();
            ddRule04.VerifyAll();
            larsData.VerifyAll();
            commonOps.VerifyAll();

            Assert.Equal(expectation, result);
        }
Пример #2
0
        public void GetFrameworkAimsForMeetsExpectation(string learnAimRef)
        {
            // arrange
            var delivery = new Mock <ILearningDelivery>();

            delivery
            .SetupGet(x => x.LearnAimRef)
            .Returns(learnAimRef);

            var handler  = new Mock <IValidationErrorHandler>(MockBehavior.Strict);
            var ddRule04 = new Mock <IDerivedData_04Rule>(MockBehavior.Strict);
            var larsData = new Mock <ILARSDataService>(MockBehavior.Strict);

            larsData
            .Setup(x => x.GetFrameworkAimsFor(learnAimRef))
            .Returns((IReadOnlyCollection <ILARSFrameworkAim>)null);

            var commonOps = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict);

            var sut = new LearnStartDate_07Rule(handler.Object, ddRule04.Object, larsData.Object, commonOps.Object);

            // act
            var result = sut.GetQualifyingFrameworksFor(delivery.Object);

            // assert
            handler.VerifyAll();
            ddRule04.VerifyAll();
            larsData.VerifyAll();
            commonOps.VerifyAll();

            Assert.Null(result);
        }
Пример #3
0
        public void GetEarliestStartDateForMeetsExpectation(string candidate)
        {
            // arrange
            var testDate = string.IsNullOrWhiteSpace(candidate)
                ? (DateTime?)null
                : DateTime.Parse(candidate);

            var handler  = new Mock <IValidationErrorHandler>(MockBehavior.Strict);
            var ddRule04 = new Mock <IDerivedData_04Rule>(MockBehavior.Strict);

            ddRule04
            .Setup(x => x.GetEarliesStartDateFor(null, null))
            .Returns(testDate);

            var larsData  = new Mock <ILARSDataService>(MockBehavior.Strict);
            var commonOps = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict);

            var sut = new LearnStartDate_07Rule(handler.Object, ddRule04.Object, larsData.Object, commonOps.Object);

            // act
            var result = sut.GetEarliestStartDateFor(null, null);

            // assert
            handler.VerifyAll();
            ddRule04.VerifyAll();
            larsData.VerifyAll();
            commonOps.VerifyAll();

            Assert.Equal(testDate, result);
        }
Пример #4
0
        [InlineData("2017-04-01", "2016-04-01", "2017-04-01")] // upper limit
        public void ValidItemDoesNotRaiseValidationMessage(string candidate, string start, string end)
        {
            // arrange
            const string LearnRefNumber = "123456789X";
            const string learnAimRef    = "shonkyRefCode"; // <= any old code for the purpose of the test...

            var testDate = DateTime.Parse(candidate);
            var delivery = new Mock <ILearningDelivery>();

            delivery
            .SetupGet(x => x.LearnStartDate)
            .Returns(testDate);
            delivery
            .SetupGet(x => x.LearnAimRef)
            .Returns(learnAimRef);

            // these are random and meaningless values
            delivery
            .SetupGet(x => x.ProgTypeNullable)
            .Returns(2);
            delivery
            .SetupGet(x => x.FworkCodeNullable)
            .Returns(3);
            delivery
            .SetupGet(x => x.PwayCodeNullable)
            .Returns(4);

            var deliveries = new ILearningDelivery[] { 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 ddRule04 = new Mock <IDerivedData_04Rule>(MockBehavior.Strict);

            ddRule04
            .Setup(x => x.GetEarliesStartDateFor(delivery.Object, deliveries))
            .Returns(testDate);

            var startDate = DateTime.Parse(start);
            var endDate   = string.IsNullOrWhiteSpace(end)
                ? (DateTime?)null
                : DateTime.Parse(end);

            var frameworkAim = new Mock <ILARSFrameworkAim>();

            frameworkAim
            .SetupGet(x => x.ProgType)
            .Returns(2);
            frameworkAim
            .SetupGet(x => x.FworkCode)
            .Returns(3);
            frameworkAim
            .SetupGet(x => x.PwayCode)
            .Returns(4);
            frameworkAim
            .SetupGet(x => x.StartDate)
            .Returns(startDate);
            frameworkAim
            .SetupGet(x => x.EndDate)
            .Returns(endDate);

            var larsData = new Mock <ILARSDataService>(MockBehavior.Strict);

            larsData
            .Setup(x => x.GetFrameworkAimsFor(learnAimRef))
            .Returns(new ILARSFrameworkAim[] { frameworkAim.Object });

            var commonOps = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict);

            commonOps
            .Setup(x => x.IsComponentOfAProgram(delivery.Object))
            .Returns(true);
            commonOps
            .Setup(x => x.InApprenticeship(delivery.Object))
            .Returns(true);
            commonOps
            .Setup(x => x.IsRestart(delivery.Object))
            .Returns(false);
            commonOps
            .Setup(x => x.IsStandardApprencticeship(delivery.Object))
            .Returns(false);

            var sut = new LearnStartDate_07Rule(handler.Object, ddRule04.Object, larsData.Object, commonOps.Object);

            // act
            sut.Validate(mockLearner.Object);

            // assert
            handler.VerifyAll();
            ddRule04.VerifyAll();
            larsData.VerifyAll();
            commonOps.VerifyAll();
        }