public void BuildLearner() { var learner = new FM35LearnerDto() { LearnRefNumber = "ABC", DateOfBirth = new DateTime(2000, 8, 1) }; var postcodesRefererenceDataServiceMock = new Mock <IPostcodesReferenceDataService>(); var organisationsDataServiceMock = new Mock <IOrganisationReferenceDataService>(); postcodesRefererenceDataServiceMock.Setup(l => l.SFADisadvantagesForPostcode(It.IsAny <string>())).Returns(new List <SfaDisadvantage>()); organisationsDataServiceMock.Setup(l => l.SpecialistResourcesForCampusIdentifier(It.IsAny <string>())).Returns(new List <CampusIdentifierSpecResource>()); var dataEntity = NewService( organisationReferenceDataService: organisationsDataServiceMock.Object, postcodesReferenceDataService: postcodesRefererenceDataServiceMock.Object) .BuildLearnerDataEntity(learner); dataEntity.EntityName.Should().Be("Learner"); dataEntity.Attributes.Should().HaveCount(2); dataEntity.Attributes["LearnRefNumber"].Value.Should().Be(learner.LearnRefNumber); dataEntity.Attributes["DateOfBirth"].Value.Should().Be(learner.DateOfBirth); dataEntity.Children.Should().BeEmpty(); }
public void BuildGlobalDataEntity() { var ukprn = 1234; var learner = new FM35LearnerDto { PostcodePrior = "Postcode" }; var global = new Global { LARSVersion = "1.0.0", PostcodeDisadvantageVersion = "2.0.0", OrgVersion = "3.0.0", UKPRN = ukprn }; var organisationRefererenceDataServiceMock = new Mock <IOrganisationReferenceDataService>(); var postcodesRefererenceDataServiceMock = new Mock <IPostcodesReferenceDataService>(); organisationRefererenceDataServiceMock.Setup(o => o.OrganisationFundingForUKPRN(global.UKPRN)).Returns(new List <OrgFunding> { new OrgFunding() }); organisationRefererenceDataServiceMock.Setup(o => o.PostcodeSpecialistResourcesForUkprn(global.UKPRN)).Returns(new List <PostcodeSpecialistResource> { new PostcodeSpecialistResource() }); postcodesRefererenceDataServiceMock.Setup(o => o.SFADisadvantagesForPostcode(learner.PostcodePrior)).Returns(new List <SfaDisadvantage>()); var dataEntity = NewService( organisationReferenceDataService: organisationRefererenceDataServiceMock.Object, postcodesReferenceDataService: postcodesRefererenceDataServiceMock.Object).BuildGlobalDataEntity(learner, global); dataEntity.EntityName.Should().Be("global"); dataEntity.Children.Should().HaveCount(3); dataEntity.Children.Select(x => x.EntityName).Should().Contain("Learner", "Postcode_Specialist_Resource_RefData", "OrgFunding"); dataEntity.Attributes.Should().HaveCount(4); dataEntity.Attributes["LARSVersion"].Value.Should().Be(global.LARSVersion); dataEntity.Attributes["PostcodeDisadvantageVersion"].Value.Should().Be(global.PostcodeDisadvantageVersion); dataEntity.Attributes["OrgVersion"].Value.Should().Be(global.OrgVersion); dataEntity.Attributes["UKPRN"].Value.Should().Be(global.UKPRN); }
public IDataEntity GetDataEntityMapperEntity() { var largeEmployersRefererenceDataServiceMock = new Mock <ILargeEmployersReferenceDataService>(); var larsReferenceDataServiceMock = new Mock <ILARSReferenceDataService>(); var organisationRefererenceDataServiceMock = new Mock <IOrganisationReferenceDataService>(); var postcodesReferenceDataServiceMock = new Mock <IPostcodesReferenceDataService>(); var learner = new FM35LearnerDto { LearnRefNumber = "Learner1", PostcodePrior = "Postcode", LearnerEmploymentStatuses = new List <LearnerEmploymentStatus> { new LearnerEmploymentStatus { EmpId = 10, DateEmpStatApp = new DateTime(2019, 8, 1), EmpStat = 2, }, }, LearningDeliveries = new List <LearningDelivery> { new LearningDelivery { LearnAimRef = "1", AimSeqNumber = 2, AimType = 3, CompStatus = 4, PwayCode = 5, ProgType = 6, FworkCode = 7, FundModel = 35, StdCode = 8, LearnStartDate = new DateTime(2019, 8, 1), LearnPlanEndDate = new DateTime(2020, 8, 1), DelLocPostCode = "Postcode", LearningDeliveryFAMs = new List <LearningDeliveryFAM> { new LearningDeliveryFAM() }, }, }, }; var frameworks = new List <LARSFramework> { new LARSFramework { EffectiveFromNullable = new DateTime(2019, 1, 1), EffectiveTo = new DateTime(2020, 1, 1), FworkCode = 7, ProgType = 6, PwayCode = 5, LARSFrameworkAim = new LARSFrameworkAim { EffectiveFrom = new DateTime(2019, 1, 1), EffectiveTo = new DateTime(2020, 1, 1), FrameworkComponentType = 1, }, LARSFrameworkApprenticeshipFundings = new List <LARSFrameworkApprenticeshipFunding> { new LARSFrameworkApprenticeshipFunding() }, LARSFrameworkCommonComponents = new List <LARSFrameworkCommonComponent> { new LARSFrameworkCommonComponent() } }, new LARSFramework { EffectiveFromNullable = new DateTime(2019, 1, 1), EffectiveTo = new DateTime(2020, 1, 1), FworkCode = 9, ProgType = 9, PwayCode = 5, LARSFrameworkAim = new LARSFrameworkAim { EffectiveFrom = new DateTime(2019, 1, 1), EffectiveTo = new DateTime(2020, 1, 1), FrameworkComponentType = 1, } } }; var larsLearningDelivery = new LARSLearningDelivery { LARSAnnualValues = new List <LARSAnnualValue> { new LARSAnnualValue() }, LARSLearningDeliveryCategories = new List <LARSLearningDeliveryCategory> { new LARSLearningDeliveryCategory() }, LARSFundings = new List <LARSFunding> { new LARSFunding() }, LARSFrameworks = frameworks }; var learningDelivery = learner.LearningDeliveries.First(); largeEmployersRefererenceDataServiceMock.Setup(l => l.LargeEmployersforEmpID(It.IsAny <int>())).Returns(new List <LargeEmployers> { new LargeEmployers() }); larsReferenceDataServiceMock.Setup(l => l.LARSLearningDeliveryForLearnAimRef(learningDelivery.LearnAimRef)).Returns(larsLearningDelivery); organisationRefererenceDataServiceMock.Setup(o => o.OrganisationFundingForUKPRN(It.IsAny <int>())) .Returns(new List <OrgFunding> { new OrgFunding { OrgFundFactType = Attributes.OrgFundFactorTypeAdultSkills } }); organisationRefererenceDataServiceMock.Setup(o => o.SpecialistResourcesForCampusIdentifier(It.IsAny <string>())) .Returns(new List <CampusIdentifierSpecResource> { new CampusIdentifierSpecResource { SpecialistResources = "Y", EffectiveFrom = new DateTime(2020, 8, 1) } }); 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.SFAAreaCostsForPostcode(learningDelivery.DelLocPostCode)).Returns(new List <SfaAreaCost> { new SfaAreaCost() }); postcodesReferenceDataServiceMock.Setup(p => p.SFADisadvantagesForPostcode(learner.PostcodePrior)).Returns(new List <SfaDisadvantage> { new SfaDisadvantage() }); return(new DataEntityMapper( largeEmployersRefererenceDataServiceMock.Object, larsReferenceDataServiceMock.Object, organisationRefererenceDataServiceMock.Object, postcodesReferenceDataServiceMock.Object).BuildGlobalDataEntity(learner, new Global())); }
public void ProvideDtos_DtoAsExpected() { IMessage message = new Message { LearningProvider = new MessageLearningProvider { UKPRN = 12345678 }, Learner = new MessageLearner[] { new MessageLearner { LearnRefNumber = "Learner_1", CampId = "CampId1", DateOfBirthSpecified = true, DateOfBirth = new DateTime(1990, 8, 1), PostcodePrior = "Postcode", LearnerEmploymentStatus = new MessageLearnerLearnerEmploymentStatus[] { new MessageLearnerLearnerEmploymentStatus { EmpIdSpecified = true, EmpId = 1, DateEmpStatApp = new DateTime(2019, 8, 1), EmpStat = 2, } }, LearningDelivery = new MessageLearnerLearningDelivery[] { new MessageLearnerLearningDelivery { AchDateSpecified = true, AchDate = new DateTime(2018, 8, 1), AddHoursSpecified = true, AddHours = 1, AimType = 1, LearnAimRef = "AimRef", FundModel = 35, AimSeqNumber = 1, CompStatus = 2, DelLocPostCode = "DelLocPostCode", EmpOutcome = 2, EmpOutcomeSpecified = true, FworkCodeSpecified = true, FworkCode = 1, LearnActEndDateSpecified = true, LearnActEndDate = new DateTime(2018, 8, 1), LearnPlanEndDate = new DateTime(2018, 8, 1), LearnStartDate = new DateTime(2018, 8, 1), OrigLearnStartDateSpecified = true, OrigLearnStartDate = new DateTime(2018, 8, 1), OtherFundAdjSpecified = true, OtherFundAdj = 3, OutcomeSpecified = true, Outcome = 4, PriorLearnFundAdjSpecified = true, PriorLearnFundAdj = 5, ProgTypeSpecified = true, ProgType = 25, PwayCodeSpecified = true, PwayCode = 1, LearningDeliveryFAM = new MessageLearnerLearningDeliveryLearningDeliveryFAM[] { new MessageLearnerLearningDeliveryLearningDeliveryFAM { LearnDelFAMCode = "1", LearnDelFAMType = "EEF" }, new MessageLearnerLearningDeliveryLearningDeliveryFAM { LearnDelFAMCode = "1", LearnDelFAMType = "FFI" }, new MessageLearnerLearningDeliveryLearningDeliveryFAM { LearnDelFAMCode = "1", LearnDelFAMType = "RES" }, new MessageLearnerLearningDeliveryLearningDeliveryFAM { LearnDelFAMCode = "1", LearnDelFAMType = "LDM" }, new MessageLearnerLearningDeliveryLearningDeliveryFAM { LearnDelFAMCode = "2", LearnDelFAMType = "LDM" }, new MessageLearnerLearningDeliveryLearningDeliveryFAM { LearnDelFAMCode = "3", LearnDelFAMType = "LDM" } }, AppFinRecord = new MessageLearnerLearningDeliveryAppFinRecord[] { new MessageLearnerLearningDeliveryAppFinRecord { AFinAmount = 1, AFinCode = 1, AFinDate = new DateTime(2018, 8, 1), AFinType = "PMR" }, new MessageLearnerLearningDeliveryAppFinRecord { AFinAmount = 1, AFinCode = 1, AFinDate = new DateTime(2018, 8, 1), AFinType = "TNP" } } } } } } }; var expectedDto = new FM35LearnerDto { LearnRefNumber = "Learner_1", CampId = "CampId1", DateOfBirth = new DateTime(1990, 8, 1), PostcodePrior = "Postcode", LearnerEmploymentStatuses = new List <LearnerEmploymentStatus> { new LearnerEmploymentStatus { EmpId = 1, DateEmpStatApp = new DateTime(2019, 8, 1), EmpStat = 2 } }, LearningDeliveries = new List <LearningDelivery> { new LearningDelivery { AchDate = new DateTime(2018, 8, 1), AimType = 1, AddHours = 1, LearnAimRef = "AimRef", FundModel = 35, AimSeqNumber = 1, CompStatus = 2, DelLocPostCode = "DelLocPostCode", EmpOutcome = 2, FworkCode = 1, LearnActEndDate = new DateTime(2018, 8, 1), LearnPlanEndDate = new DateTime(2018, 8, 1), LearnStartDate = new DateTime(2018, 8, 1), OrigLearnStartDate = new DateTime(2018, 8, 1), OtherFundAdj = 3, Outcome = 4, PriorLearnFundAdj = 5, ProgType = 25, PwayCode = 1, LearningDeliveryFAMs = new List <LearningDeliveryFAM> { new LearningDeliveryFAM { LearnDelFAMCode = "1", LearnDelFAMType = "EEF" }, new LearningDeliveryFAM { LearnDelFAMCode = "1", LearnDelFAMType = "FFI" }, new LearningDeliveryFAM { LearnDelFAMCode = "1", LearnDelFAMType = "RES" }, 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); }