public void BuildLearner()
        {
            var learner = new FM70LearnerDto()
            {
                LearnRefNumber = "ABC",
                DateOfBirth    = new DateTime(2000, 8, 1)
            };

            var dataEntity = NewService().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();
        }
Пример #2
0
        public void ProvideDtos_DtoAsExpected()
        {
            IMessage message = new Message
            {
                LearningProvider = new MessageLearningProvider
                {
                    UKPRN = 12345678
                },
                Learner = new MessageLearner[]
                {
                    new MessageLearner
                    {
                        LearnRefNumber       = "Learner_1",
                        DateOfBirthSpecified = true,
                        DateOfBirth          = new DateTime(1990, 8, 1),
                        LearningDelivery     = new MessageLearnerLearningDelivery[]
                        {
                            new MessageLearnerLearningDelivery
                            {
                                AchDateSpecified            = true,
                                AchDate                     = new DateTime(2018, 8, 1),
                                AddHoursSpecified           = true,
                                AddHours                    = 1,
                                LearnAimRef                 = "AimRef",
                                FundModel                   = 70,
                                AimSeqNumber                = 1,
                                CompStatus                  = 2,
                                ConRefNumber                = "ConRef",
                                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,
                                LearningDeliveryFAM         = new MessageLearnerLearningDeliveryLearningDeliveryFAM[]
                                {
                                    new MessageLearnerLearningDeliveryLearningDeliveryFAM
                                    {
                                        LearnDelFAMCode = "1",
                                        LearnDelFAMType = "RES"
                                    },
                                    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 FM70LearnerDto
            {
                LearnRefNumber = "Learner_1",
                DateOfBirth    = new DateTime(1990, 8, 1),
                DPOutcomes     = new List <DPOutcome>
                {
                    new DPOutcome
                    {
                        OutCode = 1,
                        OutType = "Type"
                    },
                    new DPOutcome
                    {
                        OutCode = 2,
                        OutType = "Type"
                    }
                },
                LearningDeliveries = new List <LearningDelivery>
                {
                    new LearningDelivery
                    {
                        AchDate            = new DateTime(2018, 8, 1),
                        AddHours           = 1,
                        LearnAimRef        = "AimRef",
                        FundModel          = 70,
                        AimSeqNumber       = 1,
                        CompStatus         = 2,
                        ConRefNumber       = "ConRef",
                        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,
                    }
                }
            };

            NewService().ProvideDtos(FundModelFilter, message).First().Should().BeEquivalentTo(expectedDto);
        }
        public IDataEntity GetDataEntityMapperEntity()
        {
            var larsRefererenceDataServiceMock    = new Mock <ILARSReferenceDataService>();
            var postcodesReferenceDataServiceMock = new Mock <IPostcodesReferenceDataService>();
            var fcsReferenceDataServiceMock       = new Mock <IFCSReferenceDataService>();

            var learner = new FM70LearnerDto
            {
                LearnRefNumber            = "Learner1",
                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,
                        ConRefNumber         = "Conref",
                        PwayCode             = 5,
                        ProgType             = 6,
                        FworkCode            = 7,
                        FundModel            = 70,
                        StdCode              = 8,
                        LearnStartDate       = new DateTime(2019, 8, 1),
                        LearnPlanEndDate     = new DateTime(2020, 8, 1),
                        DelLocPostCode       = "Postcode",
                        LearningDeliveryFAMs = new List <LearningDeliveryFAM>
                        {
                            new LearningDeliveryFAM
                            {
                                LearnDelFAMCode     = "1",
                                LearnDelFAMType     = "RES",
                                LearnDelFAMDateFrom = new DateTime(2019, 8, 1)
                            }
                        },
                    },
                },
                DPOutcomes = new List <DPOutcome>
                {
                    new DPOutcome
                    {
                        OutCode = 1,
                        OutType = "2",
                    }
                }
            };

            var fcsContract = new List <FCSContractAllocation>
            {
                new FCSContractAllocation
                {
                    FCSContractDeliverables = new List <FCSContractDeliverable>
                    {
                        new FCSContractDeliverable()
                    }
                }
            };

            var sfaAreaCosts = new List <SfaAreaCost>
            {
                new SfaAreaCost
                {
                    Postcode       = "Postcode",
                    AreaCostFactor = 1.2m,
                    EffectiveFrom  = new DateTime(2000, 8, 1)
                }
            };

            var larsLearningDelivery = new LARSLearningDelivery
            {
                LARSAnnualValues = new List <LARSAnnualValue>
                {
                    new LARSAnnualValue()
                },
                LARSFundings = new List <LARSFunding>
                {
                    new LARSFunding()
                }
            };

            var larsFunding = new List <LARSFunding>
            {
                new LARSFunding()
            };

            var learningDelivery = learner.LearningDeliveries.First();

            larsRefererenceDataServiceMock.Setup(l => l.LARSLearningDeliveryForLearnAimRef(learningDelivery.LearnAimRef)).Returns(larsLearningDelivery);
            postcodesReferenceDataServiceMock.Setup(p => p.SFAAreaCostsForPostcode(learningDelivery.DelLocPostCode)).Returns(sfaAreaCosts);
            fcsReferenceDataServiceMock.Setup(p => p.FcsContractsForConRef(learningDelivery.ConRefNumber)).Returns(fcsContract);

            return(new DataEntityMapper(
                       fcsReferenceDataServiceMock.Object,
                       larsRefererenceDataServiceMock.Object,
                       postcodesReferenceDataServiceMock.Object)
                   .BuildGlobalDataEntity(learner, new Global()));
        }