public void BuildLearner_NoPostcodeUplifts() { var learner = new FM25LearnerDto() { Postcode = "postcode", }; decimal?efaDisadvantagesUplift = null; var postcodesReferenceDataServiceMock = new Mock <IPostcodesReferenceDataService>(); var organisationsDataServiceMock = new Mock <IOrganisationReferenceDataService>(); postcodesReferenceDataServiceMock.Setup(p => p.LatestEFADisadvantagesUpliftForPostcode(learner.Postcode)).Returns(efaDisadvantagesUplift); organisationsDataServiceMock.Setup(l => l.SpecialistResourcesForCampusIdentifier(It.IsAny <string>())).Returns(new List <CampusIdentifierSpecResource>()); var dataEntity = NewService( organisationReferenceDataService: organisationsDataServiceMock.Object, postcodesReferenceDataService: postcodesReferenceDataServiceMock.Object) .BuildLearnerDataEntity(learner); dataEntity.Attributes["PostcodeDisadvantageUplift"].Value.Should().BeNull(); }
public void ProvideDtos_DtoAsExpected() { IMessage message = new Message { LearningProvider = new MessageLearningProvider { UKPRN = 12345678 }, Learner = new MessageLearner[] { new MessageLearner { LearnRefNumber = "Learner_1", CampId = "CampID", DateOfBirthSpecified = true, DateOfBirth = new DateTime(1990, 8, 1), EngGrade = "1", MathGrade = "2", PlanEEPHoursSpecified = true, PlanEEPHours = 1, PlanLearnHoursSpecified = true, PlanLearnHours = 1, Postcode = "Postcode", PostcodePrior = "PostcodePrior", ULN = 1000, LearnerFAM = new MessageLearnerLearnerFAM[] { new MessageLearnerLearnerFAM { LearnFAMCode = 1, LearnFAMType = "ECF" }, new MessageLearnerLearnerFAM { LearnFAMCode = 1, LearnFAMType = "EDF" }, new MessageLearnerLearnerFAM { LearnFAMCode = 2, LearnFAMType = "EDF" }, new MessageLearnerLearnerFAM { LearnFAMCode = 1, LearnFAMType = "EHC" }, new MessageLearnerLearnerFAM { LearnFAMCode = 1, LearnFAMType = "HNS" }, }, LearningDelivery = new MessageLearnerLearningDelivery[] { new MessageLearnerLearningDelivery { LearnAimRef = "AimRef", AimType = 1, FundModel = 25, AimSeqNumber = 1, CompStatus = 2, LearnActEndDateSpecified = true, LearnActEndDate = new DateTime(2018, 8, 1), LearnPlanEndDate = new DateTime(2018, 8, 1), LearnStartDate = new DateTime(2018, 8, 1), PHoursSpecified = true, PHours = 1, ProgTypeSpecified = true, ProgType = 1, WithdrawReasonSpecified = true, WithdrawReason = 1, LearningDeliveryFAM = new MessageLearnerLearningDeliveryLearningDeliveryFAM[] { new MessageLearnerLearningDeliveryLearningDeliveryFAM { LearnDelFAMCode = "1", LearnDelFAMType = "SOF" }, new MessageLearnerLearningDeliveryLearningDeliveryFAM { LearnDelFAMCode = "1", LearnDelFAMType = "LDM" }, new MessageLearnerLearningDeliveryLearningDeliveryFAM { LearnDelFAMCode = "2", LearnDelFAMType = "LDM" }, new MessageLearnerLearningDeliveryLearningDeliveryFAM { LearnDelFAMCode = "3", LearnDelFAMType = "LDM" } } } } } }, LearnerDestinationandProgression = new MessageLearnerDestinationandProgression[] { new MessageLearnerDestinationandProgression { LearnRefNumber = "Learner_1", DPOutcome = new MessageLearnerDestinationandProgressionDPOutcome[] { new MessageLearnerDestinationandProgressionDPOutcome { OutCode = 1, OutType = "Type" }, new MessageLearnerDestinationandProgressionDPOutcome { OutCode = 2, OutType = "Type" } } } } }; var expectedDto = new FM25LearnerDto { LearnRefNumber = "Learner_1", DateOfBirth = new DateTime(1990, 8, 1), CampId = "CampID", EngGrade = "1", MathGrade = "2", PlanEEPHours = 1, PlanLearnHours = 1, Postcode = "Postcode", PostcodePrior = "PostcodePrior", ULN = 1000, LrnFAM_ECF = 1, LrnFAM_EDF1 = 1, LrnFAM_EDF2 = 2, LrnFAM_EHC = 1, LrnFAM_HNS = 1, DPOutcomes = new List <DPOutcome> { new DPOutcome { OutCode = 1, OutType = "Type" }, new DPOutcome { OutCode = 2, OutType = "Type" } }, LearningDeliveries = new List <LearningDelivery> { new LearningDelivery { LearnAimRef = "AimRef", AimType = 1, FundModel = 25, AimSeqNumber = 1, CompStatus = 2, LearnActEndDate = new DateTime(2018, 8, 1), LearnPlanEndDate = new DateTime(2018, 8, 1), LearnStartDate = new DateTime(2018, 8, 1), PHours = 1, ProgType = 1, WithdrawReason = 1, LearningDeliveryFAMs = new List <LearningDeliveryFAM> { new LearningDeliveryFAM { LearnDelFAMCode = "1", LearnDelFAMType = "SOF" }, new LearningDeliveryFAM { LearnDelFAMCode = "1", LearnDelFAMType = "LDM" }, new LearningDeliveryFAM { LearnDelFAMCode = "2", LearnDelFAMType = "LDM" }, new LearningDeliveryFAM { LearnDelFAMCode = "3", LearnDelFAMType = "LDM" } } } } }; NewService().ProvideDtos(FundModelFilter, message).First().Should().BeEquivalentTo(expectedDto); }
public void BuildLearner() { var learner = new FM25LearnerDto() { DateOfBirth = new DateTime(1990, 12, 25), EngGrade = "A", LearnRefNumber = "ABC", MathGrade = "B", PlanEEPHours = 2, PlanLearnHours = 3, Postcode = "postcode", ULN = 123456, LrnFAM_ECF = 1, LrnFAM_EDF1 = 2, LrnFAM_EDF2 = 3, LrnFAM_EHC = 4, LrnFAM_HNS = 5, LrnFAM_MCF = 6, }; var uplift = 1.1m; var efaDisadvantageOne = new EfaDisadvantage { Postcode = "CV1 2WT", Uplift = 1.0m, EffectiveFrom = new DateTime(2000, 01, 01), EffectiveTo = new DateTime(2015, 07, 31), }; var efaDisadvatageTwo = new EfaDisadvantage { Postcode = "CV1 2WT", Uplift = uplift, EffectiveFrom = new DateTime(2015, 08, 01), EffectiveTo = new DateTime(2020, 07, 31), }; var efaDisadvantages = new List <EfaDisadvantage>() { efaDisadvantageOne, efaDisadvatageTwo }; var postcodesReferenceDataServiceMock = new Mock <IPostcodesReferenceDataService>(); var organisationsDataServiceMock = new Mock <IOrganisationReferenceDataService>(); postcodesReferenceDataServiceMock.Setup(p => p.LatestEFADisadvantagesUpliftForPostcode(learner.Postcode)).Returns(efaDisadvatageTwo.Uplift); organisationsDataServiceMock.Setup(l => l.SpecialistResourcesForCampusIdentifier(It.IsAny <string>())).Returns(new List <CampusIdentifierSpecResource>()); var dataEntity = NewService( organisationReferenceDataService: organisationsDataServiceMock.Object, postcodesReferenceDataService: postcodesReferenceDataServiceMock.Object) .BuildLearnerDataEntity(learner); dataEntity.EntityName.Should().Be("Learner"); dataEntity.Attributes.Should().HaveCount(14); dataEntity.Attributes["DateOfBirth"].Value.Should().Be(learner.DateOfBirth); dataEntity.Attributes["EngGrade"].Value.Should().Be(learner.EngGrade); dataEntity.Attributes["LearnRefNumber"].Value.Should().Be(learner.LearnRefNumber); dataEntity.Attributes["LrnFAM_ECF"].Value.Should().Be(1); dataEntity.Attributes["LrnFAM_EDF1"].Value.Should().Be(2); dataEntity.Attributes["LrnFAM_EDF2"].Value.Should().Be(3); dataEntity.Attributes["LrnFAM_EHC"].Value.Should().Be(4); dataEntity.Attributes["LrnFAM_HNS"].Value.Should().Be(5); dataEntity.Attributes["LrnFAM_MCF"].Value.Should().Be(6); dataEntity.Attributes["MathGrade"].Value.Should().Be(learner.MathGrade); dataEntity.Attributes["PlanEEPHours"].Value.Should().Be(learner.PlanEEPHours); dataEntity.Attributes["PlanLearnHours"].Value.Should().Be(learner.PlanLearnHours); dataEntity.Attributes["PostcodeDisadvantageUplift"].Value.Should().Be(uplift); dataEntity.Attributes["ULN"].Value.Should().Be(learner.ULN); dataEntity.Children.Should().BeEmpty(); }
public IDataEntity GetDataEntityMapperEntity() { var larsRefererenceDataServiceMock = new Mock <ILARSReferenceDataService>(); var organisationRefererenceDataServiceMock = new Mock <IOrganisationReferenceDataService>(); var postcodesReferenceDataServiceMock = new Mock <IPostcodesReferenceDataService>(); var learner = new FM25LearnerDto { LearnRefNumber = "Learner1", ULN = 1234567890, Postcode = "Postcode", EngGrade = "Grade", MathGrade = "Grade", LearningDeliveries = new List <LearningDelivery> { new LearningDelivery { LearnAimRef = "1", AimSeqNumber = 2, AimType = 3, CompStatus = 4, PwayCode = 5, ProgType = 6, FworkCode = 7, FundModel = 25, StdCode = 8, LearnStartDate = new DateTime(2019, 8, 1), LearnPlanEndDate = new DateTime(2020, 8, 1), DelLocPostCode = "Postcode", LearningDeliveryFAMs = new List <LearningDeliveryFAM> { new LearningDeliveryFAM() }, }, }, DPOutcomes = new List <DPOutcome> { new DPOutcome { OutCode = 1, OutType = "2", } } }; var larsLearningDelivery = new LARSLearningDelivery { LARSValidities = new List <LARSValidity> { new LARSValidity(), }, }; var learningDelivery = learner.LearningDeliveries.First(); larsRefererenceDataServiceMock.Setup(l => l.LARSLearningDeliveryForLearnAimRef(learningDelivery.LearnAimRef)).Returns(larsLearningDelivery); organisationRefererenceDataServiceMock.Setup(o => o.OrganisationFundingForUKPRN(It.IsAny <int>())).Returns(new List <OrgFunding> { new OrgFunding() }); organisationRefererenceDataServiceMock.Setup(o => o.SpecialistResourcesForCampusIdentifier(It.IsAny <string>())).Returns(new List <CampusIdentifierSpecResource> { new CampusIdentifierSpecResource() }); organisationRefererenceDataServiceMock.Setup(o => o.PostcodeSpecialistResourcesForUkprn(It.IsAny <int>())) .Returns(new List <PostcodeSpecialistResource> { new PostcodeSpecialistResource { SpecialistResources = "Y", EffectiveFrom = new DateTime(2020, 8, 1) } }); postcodesReferenceDataServiceMock.Setup(p => p.LatestEFADisadvantagesUpliftForPostcode(learner.Postcode)).Returns(1.0m); return(new DataEntityMapper( larsRefererenceDataServiceMock.Object, organisationRefererenceDataServiceMock.Object, postcodesReferenceDataServiceMock.Object).BuildGlobalDataEntity(learner, new Global())); }