Beispiel #1
0
        public void HasFundingRelationshipWithNullDeliveryReturnsFalse()
        {
            // arrange
            const int testUKPRN = 123;

            var handler  = new Mock <IValidationErrorHandler>(MockBehavior.Strict);
            var fileData = new Mock <IFileDataService>(MockBehavior.Strict);

            fileData
            .Setup(x => x.UKPRN())
            .Returns(testUKPRN);

            var academicData = new Mock <IAcademicYearDataService>(MockBehavior.Strict);
            var commonOps    = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict);
            var fcsData      = new Mock <IFCSDataService>(MockBehavior.Strict);

            fcsData
            .Setup(x => x.GetContractAllocationsFor(testUKPRN))
            .Returns((IReadOnlyCollection <IFcsContractAllocation>)null);

            var sut = new UKPRN_08Rule(handler.Object, fileData.Object, academicData.Object, commonOps.Object, fcsData.Object);

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

            // assert
            Assert.False(result);

            handler.VerifyAll();
            fileData.VerifyAll();
            academicData.VerifyAll();
            commonOps.VerifyAll();
            fcsData.VerifyAll();
        }
Beispiel #2
0
        public void IsNotPartOfThisYearMeetExpectdation(string endDate, string commencementDate, bool expectation)
        {
            // arrange
            var mockItem = new Mock <ILearningDelivery>();

            mockItem
            .SetupGet(x => x.LearnActEndDateNullable)
            .Returns(DateTime.Parse(endDate));

            var handler      = new Mock <IValidationErrorHandler>(MockBehavior.Strict);
            var fileData     = new Mock <IFileDataService>(MockBehavior.Strict);
            var academicData = new Mock <IAcademicYearDataService>(MockBehavior.Strict);

            academicData
            .SetupGet(x => x.Today)
            .Returns(DateTime.Today);
            academicData
            .Setup(x => x.GetAcademicYearOfLearningDate(DateTime.Today, AcademicYearDates.Commencement))
            .Returns(DateTime.Parse(commencementDate));

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

            var sut = new UKPRN_08Rule(handler.Object, fileData.Object, academicData.Object, commonOps.Object, fcsData.Object);

            // act
            var result = sut.IsNotPartOfThisYear(mockItem.Object);

            // assert
            Assert.Equal(expectation, result);

            handler.VerifyAll();
            fileData.VerifyAll();
            academicData.VerifyAll();
            commonOps.VerifyAll();
            fcsData.VerifyAll();
        }
Beispiel #3
0
        [InlineData("ALLBC1819")] // FundingStreamPeriodCodeConstants.ALLBC1819
        public void ValidItemDoesNotRaiseValidationMessage(string candidate)
        {
            // arrange
            const string LearnRefNumber = "123456789X";
            const string contractRef    = "shonkyRef12";
            const int    providerID     = 123;

            var testDate = DateTime.Today;

            var delivery = new Mock <ILearningDelivery>();

            delivery
            .SetupGet(x => x.ConRefNumber)
            .Returns(contractRef);
            delivery
            .SetupGet(y => y.LearnActEndDateNullable)
            .Returns(testDate);

            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 fileData = new Mock <IFileDataService>(MockBehavior.Strict);

            fileData
            .Setup(x => x.UKPRN())
            .Returns(providerID);

            var academicData = new Mock <IAcademicYearDataService>(MockBehavior.Strict);

            academicData
            .SetupGet(x => x.Today)
            .Returns(DateTime.Today);
            academicData
            .Setup(x => x.GetAcademicYearOfLearningDate(DateTime.Today, AcademicYearDates.Commencement))
            .Returns(testDate);

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

            commonOps
            .Setup(x => x.IsLoansBursary(delivery.Object))
            .Returns(true);

            var allocation = new Mock <IFcsContractAllocation>();

            allocation
            .SetupGet(x => x.FundingStreamPeriodCode)
            .Returns(candidate);

            var fcsData = new Mock <IFCSDataService>(MockBehavior.Strict);

            fcsData
            .Setup(x => x.GetContractAllocationsFor(providerID))
            .Returns(new[] { allocation.Object });

            var sut = new UKPRN_08Rule(handler.Object, fileData.Object, academicData.Object, commonOps.Object, fcsData.Object);

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

            // assert
            handler.VerifyAll();
            fileData.VerifyAll();
            academicData.VerifyAll();
            commonOps.VerifyAll();
            fcsData.VerifyAll();
        }