public void DPOutComeConditionMet_True(string learnRefNumber)
        {
            var learnerDestinationAndProgression = new TestLearnerDestinationAndProgression()
            {
                LearnRefNumber = "00100309",
                DPOutcomes     = new[]
                {
                    new TestDPOutcome()
                    {
                        OutStartDate = new DateTime(2017, 05, 01)
                    },
                    new TestDPOutcome()
                    {
                        OutStartDate = new DateTime(2012, 01, 01)
                    }
                }
            };

            string ldapLearnRefNumberExpectedValue =
                learnRefNumber == learnerDestinationAndProgression.LearnRefNumber
                ? learnRefNumber
                : string.Empty;

            NewRule()
            .DPOutComeConditionMet(
                learnRefNumber,
                new List <TestLearnerDestinationAndProgression> {
                learnerDestinationAndProgression
            },
                new DateTime(2018, 06, 01)).Should().BeTrue();
        }
        public void Validate_NoError(int?progType, int fundModel, int compStatus, string learnActEndDate1, string learnActEndDate2)
        {
            DateTime?learnActEndDateLD1 = string.IsNullOrEmpty(learnActEndDate1) ? (DateTime?)null : DateTime.Parse(learnActEndDate1);
            DateTime?learnActEndDateLD2 = string.IsNullOrEmpty(learnActEndDate2) ? (DateTime?)null : DateTime.Parse(learnActEndDate2);

            var learner = new TestLearner()
            {
                LearnRefNumber     = "00100309",
                LearningDeliveries = new TestLearningDelivery[]
                {
                    new TestLearningDelivery()
                    {
                        ProgTypeNullable        = 3,
                        FundModel               = fundModel,
                        LearnActEndDateNullable = learnActEndDateLD1,
                        CompStatus              = compStatus
                    },
                    new TestLearningDelivery()
                    {
                        ProgTypeNullable        = progType,
                        FundModel               = fundModel,
                        LearnActEndDateNullable = learnActEndDateLD2,
                        CompStatus              = compStatus
                    }
                }
            };

            var learnerDestinationAndProgression = new TestLearnerDestinationAndProgression()
            {
                LearnRefNumber = "00100310",
                DPOutcomes     = new[]
                {
                    new TestDPOutcome()
                    {
                        OutStartDate = new DateTime(2018, 09, 01)
                    },
                    new TestDPOutcome()
                    {
                        OutStartDate = new DateTime(2012, 01, 01)
                    }
                }
            };

            var message = new TestMessage()
            {
                Learners = new TestLearner[] { learner },
                LearnerDestinationAndProgressions = new TestLearnerDestinationAndProgression[] { learnerDestinationAndProgression }
            };

            var fileDataServiceMock = new Mock <IFileDataService>();

            fileDataServiceMock.Setup(fds => fds.FilePreparationDate()).Returns(new DateTime(2018, 03, 01));

            using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError())
            {
                NewRule(
                    validationErrorHandler: validationErrorHandlerMock.Object,
                    fileDataService: fileDataServiceMock.Object).Validate(message);
            }
        }
        public void DPOutComeConditionMet_False()
        {
            string learnRefNumber = "00100310";

            var learnerDestinationAndProgression = new TestLearnerDestinationAndProgression()
            {
                LearnRefNumber = "00100310",
                DPOutcomes     = new[]
                {
                    new TestDPOutcome()
                    {
                        OutStartDate = new DateTime(2018, 09, 01)
                    },
                    new TestDPOutcome()
                    {
                        OutStartDate = new DateTime(2012, 01, 01)
                    }
                }
            };

            NewRule().DPOutComeConditionMet(
                learnRefNumber,
                new List <TestLearnerDestinationAndProgression> {
                learnerDestinationAndProgression
            },
                new DateTime(2018, 06, 01)).Should().BeFalse();
        }
        public void Validate_NoErrors()
        {
            var learnerDP = new TestLearnerDestinationAndProgression
            {
                DPOutcomes = new List <TestDPOutcome>
                {
                    new TestDPOutcome
                    {
                        OutType      = "EMP",
                        OutCode      = 1,
                        OutStartDate = new DateTime(2018, 8, 1)
                    }
                }
            };

            var dpOutcome = learnerDP.DPOutcomes.FirstOrDefault();

            var lookupsMock = new Mock <IProvideLookupDetails>();

            lookupsMock.Setup(ds => ds.IsCurrent(TypeOfLimitedLifeLookup.OutType, $"{dpOutcome.OutType}{dpOutcome.OutCode}", dpOutcome.OutStartDate)).Returns(true);

            using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError())
            {
                NewRule(lookupsMock.Object, validationErrorHandlerMock.Object).Validate(learnerDP);
            }
        }
        public void ValidateNoError()
        {
            var learnerDP = new TestLearnerDestinationAndProgression
            {
                DPOutcomes = new List <TestDPOutcome>()
                {
                    new TestDPOutcome()
                    {
                        OutStartDate = new DateTime(2008, 08, 02)
                    }
                }
            };

            var academicYearDataServiceMock = new Mock <IAcademicYearDataService>();

            academicYearDataServiceMock.Setup(ds => ds.Start()).Returns(new DateTime(2018, 08, 01));

            var dateTimeQueryServiceMock = new Mock <IDateTimeQueryService>();

            dateTimeQueryServiceMock.Setup(ds => ds.AddYearsToDate(academicYearDataServiceMock.Object.Start(), -10)).Returns(new DateTime(2008, 08, 01));

            using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError())
            {
                NewRule(academicYearDataServiceMock.Object, dateTimeQueryServiceMock.Object, validationErrorHandlerMock.Object).Validate(learnerDP);
            }
        }
Пример #6
0
        public void DPOutComeConditionMet_True()
        {
            string   learnRefNumber     = "00100309";
            string   ldapLearnRefNumber = null;
            DateTime?outStartDate       = null;

            var learnerDestinationAndProgression = new TestLearnerDestinationAndProgression()
            {
                LearnRefNumber = "00100309",
                DPOutcomes     = new[]
                {
                    new TestDPOutcome()
                    {
                        OutStartDate = new DateTime(2017, 05, 01)
                    },
                    new TestDPOutcome()
                    {
                        OutStartDate = new DateTime(2012, 01, 01)
                    }
                }
            };

            var fileDataServiceMock = new Mock <IFileDataService>();

            fileDataServiceMock.Setup(fds => fds.LearnerDestinationAndProgressionsForLearnRefNumber(learnRefNumber)).Returns(learnerDestinationAndProgression);

            NewRule(fileDataService: fileDataServiceMock.Object).DPOutComeConditionMet(learnRefNumber, new DateTime(2018, 06, 01), out ldapLearnRefNumber, out outStartDate).Should().BeTrue();
        }
        public void DpOutcomeConditionMet_False()
        {
            var matchingDpOutcome = new TestLearnerDestinationAndProgression
            {
                LearnRefNumber = "123456",
                DPOutcomes     = new List <TestDPOutcome>
                {
                    new TestDPOutcome
                    {
                        OutStartDate = new DateTime(2018, 9, 1),
                        OutType      = "type1",
                        OutCode      = 1
                    }
                }
            };

            var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError();

            var learnerDPQueryServiceMock = new Mock <ILearnerDPQueryService>();

            learnerDPQueryServiceMock
            .Setup(m => m.GetDestinationAndProgressionForLearner(It.IsAny <string>()))
            .Returns(matchingDpOutcome);

            NewRule(learnerDpQueryService: learnerDPQueryServiceMock.Object, validationErrorHandler: validationErrorHandlerMock.Object).DpOutcomeConditionMet("123456").Should().BeFalse();
        }
Пример #8
0
        public void Validate_NoErrors(string outType, int outCode)
        {
            var learnerDP = new TestLearnerDestinationAndProgression
            {
                DPOutcomes = new List <TestDPOutcome>
                {
                    new TestDPOutcome
                    {
                        OutType = outType,
                        OutCode = outCode
                    }
                }
            };

            var dpOutcome = learnerDP.DPOutcomes.FirstOrDefault();

            var lookupsMock = new Mock <IProvideLookupDetails>();

            lookupsMock.Setup(ds => ds.Contains(TypeOfLimitedLifeLookup.OutTypedCode, $"{dpOutcome.OutType}{dpOutcome.OutCode}")).Returns(true);

            using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError())
            {
                NewRule(lookupsMock.Object, validationErrorHandlerMock.Object).Validate(learnerDP);
            }
        }
Пример #9
0
        public void ConditionMet_False_MisMatch()
        {
            var learnRefNumber = "Learner1";
            var uln            = 9999999999;
            var learnerDP3     = new TestLearnerDestinationAndProgression()
            {
                LearnRefNumber = "Learner3", ULN = 9999999997
            };
            var learnerDP4 = new TestLearnerDestinationAndProgression()
            {
                LearnRefNumber = "Learner4", ULN = 9999999999
            };

            IEnumerable <ILearnerDestinationAndProgression> learnerDPs = new TestLearnerDestinationAndProgression[]
            {
                learnerDP3,
                learnerDP4
            };

            var fileDataServiceMock       = new Mock <IFileDataService>();
            var learnerDPQueryServiceMock = new Mock <ILearnerDPQueryService>();

            fileDataServiceMock.Setup(dc => dc.LearnerDestinationAndProgressionsForLearnRefNumber(learnRefNumber)).Returns((ILearnerDestinationAndProgression)null);
            learnerDPQueryServiceMock.Setup(qs => qs.HasULNForLearnRefNumber(learnRefNumber, uln, It.IsAny <ILearnerDestinationAndProgression>())).Returns(false);

            NewRule(fileDataServiceMock.Object, learnerDPQueryServiceMock.Object).ConditionMet(learnRefNumber, uln).Should().BeFalse();
        }
Пример #10
0
        public void Validate_Errors()
        {
            var filePrepDate = new DateTime(2018, 08, 01);
            var learnerDP    = new TestLearnerDestinationAndProgression
            {
                DPOutcomes = new List <TestDPOutcome>
                {
                    new TestDPOutcome
                    {
                        OutCollDate = new DateTime(2018, 08, 01)
                    },
                    new TestDPOutcome
                    {
                        OutCollDate = new DateTime(2019, 08, 01)
                    }
                }
            };

            var fileDataServiceMock = new Mock <IFileDataService>();

            fileDataServiceMock.Setup(f => f.FilePreparationDate()).Returns(filePrepDate);

            using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForError())
            {
                NewRule(fileDataServiceMock.Object, validationErrorHandlerMock.Object).Validate(learnerDP);
            }
        }
        public void Validate_NoError()
        {
            var testLearningDestinationAndProgression = new TestLearnerDestinationAndProgression()
            {
                DPOutcomes = new TestDPOutcome[]
                {
                    new TestDPOutcome()
                    {
                        OutStartDate = DateTime.Now
                    }
                }
            };

            var academicYearDataServiceMock = new Mock <IAcademicYearDataService>();

            academicYearDataServiceMock.Setup(a => a.End()).Returns(DateTime.Now);

            using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError())
            {
                NewRule(
                    validationErrorHandler: validationErrorHandlerMock.Object,
                    academicYearDataService: academicYearDataServiceMock.Object)
                .Validate(testLearningDestinationAndProgression);
            }
        }
Пример #12
0
        public void Validate_Errors(string outType1, string outType2, string outType3, string outType4)
        {
            var learnerDP = new TestLearnerDestinationAndProgression
            {
                DPOutcomes = new List <TestDPOutcome>()
            };

            IDictionary <DateTime, IEnumerable <string> > outTypeDictionary = new Dictionary <DateTime, IEnumerable <string> >
            {
                { new DateTime(2018, 8, 1), new List <string> {
                      outType1, outType2
                  } },
                { new DateTime(2018, 9, 1), new List <string> {
                      outType1, outType2, outType3, outType4
                  } }
            };

            var learnerDPQueryServiceMock = new Mock <ILearnerDPQueryService>();

            learnerDPQueryServiceMock.Setup(qs => qs.OutTypesForStartDateAndTypes(learnerDP.DPOutcomes, It.IsAny <IEnumerable <string> >())).Returns(outTypeDictionary);

            using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForError())
            {
                NewRule(learnerDPQueryServiceMock.Object, validationErrorHandlerMock.Object).Validate(learnerDP);
            }
        }
Пример #13
0
        public void Validate_NoError()
        {
            string learnRefNumber = "00100309";

            var learner = new TestLearner()
            {
                LearnRefNumber     = "00100309",
                LearningDeliveries = new TestLearningDelivery[]
                {
                    new TestLearningDelivery()
                    {
                        ProgTypeNullable        = 24,
                        FundModel               = FundModelConstants.NonFunded,
                        LearnActEndDateNullable = null,
                        CompStatus              = 5
                    },
                    new TestLearningDelivery()
                    {
                        ProgTypeNullable        = 25,
                        FundModel               = FundModelConstants.Apprenticeships,
                        LearnActEndDateNullable = new DateTime(2018, 06, 01),
                        CompStatus              = 6
                    }
                }
            };

            var learnerDestinationAndProgression = new TestLearnerDestinationAndProgression()
            {
                LearnRefNumber = "00100310",
                DPOutcomes     = new[]
                {
                    new TestDPOutcome()
                    {
                        OutStartDate = new DateTime(2018, 09, 01)
                    },
                    new TestDPOutcome()
                    {
                        OutStartDate = new DateTime(2012, 01, 01)
                    }
                }
            };

            var fileDataServiceMock = new Mock <IFileDataService>();

            fileDataServiceMock.Setup(fds => fds.FilePreparationDate()).Returns(new DateTime(2018, 03, 01));
            fileDataServiceMock.Setup(fds => fds.LearnerDestinationAndProgressionsForLearnRefNumber(learnRefNumber)).Returns(learnerDestinationAndProgression);

            using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError())
            {
                NewRule(
                    validationErrorHandler: validationErrorHandlerMock.Object,
                    fileDataService: fileDataServiceMock.Object).Validate(learner);
            }
        }
Пример #14
0
        public void Validate_Error()
        {
            string learnRefNumber = "00100309";

            var learner = new TestLearner()
            {
                LearnRefNumber     = "00100309",
                LearningDeliveries = new TestLearningDelivery[]
                {
                    new TestLearningDelivery()
                    {
                        ProgTypeNullable        = 12,
                        FundModel               = FundModelConstants.AdultSkills,
                        LearnActEndDateNullable = new DateTime(2017, 05, 01),
                        CompStatus              = 7
                    },
                    new TestLearningDelivery()
                    {
                        ProgTypeNullable        = null,
                        FundModel               = FundModelConstants.ESF,
                        LearnActEndDateNullable = new DateTime(2018, 06, 01),
                        CompStatus              = 8
                    }
                }
            };

            var learnerDestinationAndProgression = new TestLearnerDestinationAndProgression()
            {
                LearnRefNumber = "00100309",
                DPOutcomes     = new[]
                {
                    new TestDPOutcome()
                    {
                        OutStartDate = new DateTime(2017, 05, 01)
                    },
                    new TestDPOutcome()
                    {
                        OutStartDate = new DateTime(2012, 01, 01)
                    }
                }
            };

            var fileDataServiceMock = new Mock <IFileDataService>();

            fileDataServiceMock.Setup(fds => fds.FilePreparationDate()).Returns(DateTime.Now.AddMonths(4));
            fileDataServiceMock.Setup(fds => fds.LearnerDestinationAndProgressionsForLearnRefNumber(learnRefNumber)).Returns(learnerDestinationAndProgression);

            using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForError())
            {
                NewRule(
                    validationErrorHandler: validationErrorHandlerMock.Object,
                    fileDataService: fileDataServiceMock.Object).Validate(learner);
            }
        }
        public void ValidationPasses(long uln)
        {
            var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError();
            IDerivedData_15Rule dd15       = new DerivedData_15Rule();

            var testLearner = new TestLearnerDestinationAndProgression
            {
                ULN = uln
            };

            NewRule(dd15, validationErrorHandlerMock.Object).Validate(testLearner);
        }
        public void ConditionMet_True()
        {
            var testLearners = new TestLearner[]
            {
            };

            var testLearnerDestinationAndProgressions = new TestLearnerDestinationAndProgression[]
            {
            };

            NewRule().ConditionMet(learners: testLearners, learnerDestinationAndProgressions: testLearnerDestinationAndProgressions).Should().BeTrue();
        }
Пример #17
0
        public void ConditionMet_False_NullDP()
        {
            var learnRefNumber = "Learner1";
            var uln            = 9999999999;
            TestLearnerDestinationAndProgression learnerDP = null;

            var fileDataServiceMock       = new Mock <IFileDataService>();
            var learnerDPQueryServiceMock = new Mock <ILearnerDPQueryService>();

            learnerDPQueryServiceMock.Setup(qs => qs.HasULNForLearnRefNumber(learnRefNumber, uln, learnerDP)).Returns(false);

            NewRule(fileDataServiceMock.Object, learnerDPQueryServiceMock.Object).ConditionMet(learnRefNumber, uln).Should().BeFalse();
        }
Пример #18
0
        public void ValidateNoErrorNull()
        {
            var learnerDP = new TestLearnerDestinationAndProgression();

            var academicYearDataServiceMock = new Mock <IAcademicYearDataService>();

            academicYearDataServiceMock.Setup(ds => ds.Start()).Returns(new DateTime(2018, 08, 01));

            using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError())
            {
                NewRule(academicYearDataServiceMock.Object, validationErrorHandlerMock.Object).Validate(learnerDP);
            }
        }
        public void ValidationFails()
        {
            var validationErrorHandlerMock = BuildValidationErrorHandlerMockForError();
            IDerivedData_15Rule dd15       = new DerivedData_15Rule();

            var testLearner = new TestLearnerDestinationAndProgression
            {
                ULN = 21111111111
            };

            NewRule(dd15, validationErrorHandlerMock.Object).Validate(testLearner);
            validationErrorHandlerMock.Verify(h => h.Handle(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <long?>(), It.IsAny <IEnumerable <IErrorMessageParameter> >()));
        }
        public void Validate_NoError_DBOutComeNullCheck()
        {
            var testLearningDestinationAndProgression = new TestLearnerDestinationAndProgression()
            {
                DPOutcomes = null
            };

            using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError())
            {
                NewRule(
                    validationErrorHandler: validationErrorHandlerMock.Object)
                .Validate(testLearningDestinationAndProgression);
            }
        }
        public void ConditionMet_False_Null()
        {
            TestLearner[] testLearners = null;

            var testLearnerDestinationAndProgressions = new TestLearnerDestinationAndProgression[]
            {
                new TestLearnerDestinationAndProgression()
                {
                    LearnRefNumber = "1234"
                }
            };

            NewRule().ConditionMet(learners: testLearners, learnerDestinationAndProgressions: testLearnerDestinationAndProgressions).Should().BeFalse();
        }
Пример #22
0
        public void Validate_Error()
        {
            var learner = new TestLearnerDestinationAndProgression
            {
                ULN = 1,
            };

            var ulnDataServiceMock = new Mock <IULNDataService>();

            ulnDataServiceMock.Setup(urds => urds.Exists(1)).Returns(false);

            using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForError())
            {
                NewRule(ulnDataServiceMock.Object, validationErrorHandlerMock.Object).Validate(learner);
            }
        }
Пример #23
0
        public void Validate_TempULNPasses()
        {
            var learner = new TestLearnerDestinationAndProgression
            {
                ULN = ValidationConstants.TemporaryULN
            };

            var ulnDataServiceMock = new Mock <IULNDataService>();

            ulnDataServiceMock.Setup(urds => urds.Exists(It.IsAny <long>())).Returns(false);

            using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError())
            {
                NewRule(ulnDataServiceMock.Object, validationErrorHandlerMock.Object).Validate(learner);
            }
        }
        public void DpOutcomeConditionMet_True()
        {
            var matchingDpOutcome = new TestLearnerDestinationAndProgression
            {
                LearnRefNumber = "123456"
            };

            var validationErrorHandlerMock = BuildValidationErrorHandlerMockForError();

            var learnerDPQueryServiceMock = new Mock <ILearnerDPQueryService>();

            learnerDPQueryServiceMock
            .Setup(m => m.GetDestinationAndProgressionForLearner("123456"))
            .Returns(matchingDpOutcome);

            NewRule(learnerDpQueryService: learnerDPQueryServiceMock.Object, validationErrorHandler: validationErrorHandlerMock.Object).DpOutcomeConditionMet("123456").Should().BeTrue();
        }
Пример #25
0
        public void Validate_Error()
        {
            var learnRefNumber = "Learner3";
            var uln            = 9999999999;
            var learnerDP1     = new TestLearnerDestinationAndProgression()
            {
                LearnRefNumber = "Learner1", ULN = 9999999999
            };
            var learnerDP2 = new TestLearnerDestinationAndProgression()
            {
                LearnRefNumber = "Learner1", ULN = 9999999998
            };
            var learnerDP3 = new TestLearnerDestinationAndProgression()
            {
                LearnRefNumber = "Learner3", ULN = 9999999997
            };
            var learnerDP4 = new TestLearnerDestinationAndProgression()
            {
                LearnRefNumber = "Learner4", ULN = 9999999999
            };

            IEnumerable <ILearnerDestinationAndProgression> learnerDPs = new TestLearnerDestinationAndProgression[]
            {
                learnerDP1,
                learnerDP2,
                learnerDP3,
                learnerDP4
            };

            var learner = new TestLearner
            {
                LearnRefNumber = learnRefNumber,
                ULN            = uln
            };

            var fileDataServiceMock       = new Mock <IFileDataService>();
            var learnerDPQueryServiceMock = new Mock <ILearnerDPQueryService>();

            fileDataServiceMock.Setup(dc => dc.LearnerDestinationAndProgressionsForLearnRefNumber(learnRefNumber)).Returns(learnerDP3);
            learnerDPQueryServiceMock.Setup(qs => qs.HasULNForLearnRefNumber(learnRefNumber, uln, It.IsAny <ILearnerDestinationAndProgression>())).Returns(false);

            using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForError())
            {
                NewRule(fileDataServiceMock.Object, learnerDPQueryServiceMock.Object, validationErrorHandlerMock.Object).Validate(learner);
            }
        }
        public void ValidationPasses_MatchingDPOutcome(string dpOutcomeType, int dpOutcomeCode)
        {
            var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError();

            const string LearnRefNum = "123456";

            var matchingDpOutcome = new TestLearnerDestinationAndProgression
            {
                LearnRefNumber = LearnRefNum,
                DPOutcomes     = new List <TestDPOutcome>
                {
                    new TestDPOutcome
                    {
                        OutStartDate = new DateTime(2018, 9, 1),
                        OutType      = dpOutcomeType,
                        OutCode      = dpOutcomeCode
                    }
                }
            };

            var queryServiceMock = new Mock <ILearnerDPQueryService>();

            queryServiceMock
            .Setup(m => m.GetDestinationAndProgressionForLearner(It.IsAny <string>()))
            .Returns(matchingDpOutcome);

            var testLearner = new TestLearner
            {
                LearnRefNumber     = LearnRefNum,
                LearningDeliveries = new List <TestLearningDelivery>
                {
                    new TestLearningDelivery
                    {
                        LearnStartDate          = new DateTime(2015, 8, 1),
                        LearnActEndDateNullable = null,
                        AimType          = AimTypes.ProgrammeAim,
                        ProgTypeNullable = ProgTypes.Traineeship,
                        OutcomeNullable  = OutcomeConstants.Achieved
                    }
                }
            };

            NewRule(validationErrorHandlerMock.Object, queryServiceMock.Object).Validate(testLearner);
            VerifyErrorHandlerMock(validationErrorHandlerMock);
        }
        public void LearnerDestinationAndProgressionsForLearnRefNumber()
        {
            var learnerDP = new TestLearnerDestinationAndProgression
            {
                LearnRefNumber = "111111"
            };

            var learnerDestinationAndProgressions = new List <TestLearnerDestinationAndProgression>
            {
                learnerDP
            };

            var fileDataCacheMock = new Mock <IFileDataCache>();

            fileDataCacheMock.SetupGet(c => c.LearnerDestinationAndProgressions).Returns(learnerDestinationAndProgressions);

            NewService(fileDataCacheMock.Object).LearnerDestinationAndProgressionsForLearnRefNumber("111111").Should().BeEquivalentTo(learnerDP);
        }
        public void Validate_Null_NoErrors()
        {
            var learnerDP = new TestLearnerDestinationAndProgression
            {
                DPOutcomes = new List <TestDPOutcome>
                {
                    new TestDPOutcome
                    {
                        OutStartDate       = new DateTime(2018, 12, 01),
                        OutEndDateNullable = null
                    }
                }
            };

            using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForNoError())
            {
                NewRule(validationErrorHandlerMock.Object).Validate(learnerDP);
            }
        }
        public void ConditionMet_False()
        {
            var testLearners = new TestLearner[]
            {
                new TestLearner()
                {
                    Postcode = "ABC DEF"
                }
            };

            var testLearnerDestinationAndProgressions = new TestLearnerDestinationAndProgression[]
            {
                new TestLearnerDestinationAndProgression()
                {
                    LearnRefNumber = "1234"
                }
            };

            NewRule().ConditionMet(learners: testLearners, learnerDestinationAndProgressions: testLearnerDestinationAndProgressions).Should().BeFalse();
        }
Пример #30
0
        public void ValidateError()
        {
            var learnerDP = new TestLearnerDestinationAndProgression
            {
                DPOutcomes = new List <TestDPOutcome>
                {
                    new TestDPOutcome
                    {
                        OutCollDate = new DateTime(2008, 07, 01)
                    }
                }
            };

            var academicYearDataServiceMock = new Mock <IAcademicYearDataService>();

            academicYearDataServiceMock.Setup(ds => ds.Start()).Returns(new DateTime(2018, 08, 01));

            using (var validationErrorHandlerMock = BuildValidationErrorHandlerMockForError())
            {
                NewRule(academicYearDataServiceMock.Object, validationErrorHandlerMock.Object).Validate(learnerDP);
            }
        }