public void RestartAfterPlannedBreakShouldHaveTwoSubmittedLearnerAims() { var builder = new SubmittedLearnerAimBuilder(mapper); var events = builder.Build(FileHelpers.CreateFromFile(filename, learnerRefNo)); events.Should().HaveCount(3); events.Where(x => x.LearningAimReference.Equals("ZPROG001")).Should().HaveCount(1); events.Where(x => !x.LearningAimReference.Equals("ZPROG001")).Should().HaveCount(2); }
public void PriorAcademicYearAimsAreExcluded() { var plc = new ProcessLearnerCommand { CollectionPeriod = 3, CollectionYear = 1920, Ukprn = 1234, Learner = new FM36Learner { LearnRefNumber = "learner-a", ULN = 123, PriceEpisodes = new List <PriceEpisode> { new PriceEpisode { PriceEpisodeIdentifier = "25-17-01/01/2019", PriceEpisodeValues = new PriceEpisodeValues { EpisodeStartDate = DateTime.Parse("2019-01-01T00:00:00+00:00"), PriceEpisodeActualEndDate = DateTime.Parse("2019-07-31T00:00:00+00:00"), PriceEpisodeAimSeqNumber = 1, PriceEpisodeContractType = "Contract for services with the ESFA" } } }, LearningDeliveries = new List <LearningDelivery> { new LearningDelivery { AimSeqNumber = 1, LearningDeliveryValues = new LearningDeliveryValues { LearnAimRef = "ZPROG001", LearnStartDate = DateTime.Parse("2019-01-01T00:00:00+00:00") } } } } }; var builder = new SubmittedLearnerAimBuilder(mapper); var submittedAims = builder.Build(plc); submittedAims.Should().HaveCount(0); }
public void TestAimsAreCreatedFromCommand() { var processLearnerCommand = new ProcessLearnerCommand { CollectionPeriod = 2, CollectionYear = 2021, IlrSubmissionDateTime = DateTime.Now, JobId = 3, Ukprn = 4, Learner = new FM36Learner { ULN = 5, LearnRefNumber = "6", LearningDeliveries = new List <LearningDelivery> { new LearningDelivery { AimSeqNumber = 1, LearningDeliveryValues = new LearningDeliveryValues { LearnAimRef = "ZPROG001", FworkCode = 11, PwayCode = 12, ProgType = 13, StdCode = 14 } }, new LearningDelivery { AimSeqNumber = 2, LearningDeliveryValues = new LearningDeliveryValues { LearnAimRef = "M&E", FworkCode = 21, PwayCode = 22, ProgType = 23, StdCode = 24 }, LearningDeliveryPeriodisedValues = new List <LearningDeliveryPeriodisedValues> { new LearningDeliveryPeriodisedValues { AttributeName = "MathEngBalPayment", Period1 = 1, Period2 = 2 } }, LearningDeliveryPeriodisedTextValues = new List <LearningDeliveryPeriodisedTextValues> { new LearningDeliveryPeriodisedTextValues { AttributeName = "LearnDelContType", Period1 = "Levy Contract", Period2 = "Levy Contract", Period3 = "Levy Contract", Period4 = "Levy Contract", Period5 = "Levy Contract", Period6 = "Levy Contract", Period7 = "Levy Contract", Period8 = "Levy Contract", Period9 = "Levy Contract", Period10 = "Levy Contract", Period11 = "Levy Contract", Period12 = "Levy Contract" } }, } }, PriceEpisodes = new List <PriceEpisode> { new PriceEpisode { PriceEpisodeValues = new PriceEpisodeValues { PriceEpisodeAimSeqNumber = 1, PriceEpisodeContractType = "Levy Contract", EpisodeStartDate = DateTime.Today, }, PriceEpisodePeriodisedValues = new List <PriceEpisodePeriodisedValues> { new PriceEpisodePeriodisedValues { AttributeName = "PriceEpisodeOnProgPayment", Period1 = 10, Period2 = 20 } } } } } }; var builder = new SubmittedLearnerAimBuilder(mapper); var submittedAims = builder.Build(processLearnerCommand); submittedAims.Should().HaveCount(2); var mainAim = submittedAims.Single(aim => aim.LearningAimReference == "ZPROG001"); var mathsAndEnglishAim = submittedAims.Single(aim => aim.LearningAimReference != "ZPROG001"); mainAim.AcademicYear.Should().Be(processLearnerCommand.CollectionYear); mainAim.CollectionPeriod.Should().Be((byte)processLearnerCommand.CollectionPeriod); mainAim.IlrSubmissionDateTime.Should().Be(processLearnerCommand.IlrSubmissionDateTime); mainAim.JobId.Should().Be(processLearnerCommand.JobId); mainAim.LearnerReferenceNumber.Should().Be(processLearnerCommand.Learner.LearnRefNumber); mainAim.LearnerUln.Should().Be(processLearnerCommand.Learner.ULN); mainAim.LearningAimFrameworkCode.Should().Be(processLearnerCommand.Learner.LearningDeliveries[0].LearningDeliveryValues.FworkCode); mainAim.LearningAimPathwayCode.Should().Be(processLearnerCommand.Learner.LearningDeliveries[0].LearningDeliveryValues.PwayCode); mainAim.LearningAimProgrammeType.Should().Be(processLearnerCommand.Learner.LearningDeliveries[0].LearningDeliveryValues.ProgType); mainAim.LearningAimStandardCode.Should().Be(processLearnerCommand.Learner.LearningDeliveries[0].LearningDeliveryValues.StdCode); mainAim.Ukprn.Should().Be(processLearnerCommand.Ukprn); mathsAndEnglishAim.AcademicYear.Should().Be(processLearnerCommand.CollectionYear); mathsAndEnglishAim.CollectionPeriod.Should().Be((byte)processLearnerCommand.CollectionPeriod); mathsAndEnglishAim.IlrSubmissionDateTime.Should().Be(processLearnerCommand.IlrSubmissionDateTime); mathsAndEnglishAim.JobId.Should().Be(processLearnerCommand.JobId); mathsAndEnglishAim.LearnerReferenceNumber.Should().Be(processLearnerCommand.Learner.LearnRefNumber); mathsAndEnglishAim.LearnerUln.Should().Be(processLearnerCommand.Learner.ULN); mathsAndEnglishAim.LearningAimFrameworkCode.Should().Be(processLearnerCommand.Learner.LearningDeliveries[1].LearningDeliveryValues.FworkCode); mathsAndEnglishAim.LearningAimPathwayCode.Should().Be(processLearnerCommand.Learner.LearningDeliveries[1].LearningDeliveryValues.PwayCode); mathsAndEnglishAim.LearningAimProgrammeType.Should().Be(processLearnerCommand.Learner.LearningDeliveries[1].LearningDeliveryValues.ProgType); mathsAndEnglishAim.LearningAimStandardCode.Should().Be(processLearnerCommand.Learner.LearningDeliveries[1].LearningDeliveryValues.StdCode); mathsAndEnglishAim.Ukprn.Should().Be(processLearnerCommand.Ukprn); }