예제 #1
0
 private void GenerateLearnerEmploymentStatus(MessageLearner messageLearner)
 {
     if (Options.EmploymentRequired)
     {
         MessageLearnerLearnerEmploymentStatus les = new MessageLearnerLearnerEmploymentStatus()
         {
             EmpStat                 = (int)EmploymentStatus.PaidEmployment,
             EmpStatSpecified        = true,
             DateEmpStatApp          = Options.LD.OverrideLearnStartDate.HasValue ? Options.LD.OverrideLearnStartDate.Value.AddDays(-40) : DateTime.Parse(DCT.TestDataGenerator.Helpers.ValueOrFunction("[AY-1|JUN|10]")),
             DateEmpStatAppSpecified = true,
             EmpId                      = 154549452,
             EmpIdSpecified             = true,
             EmploymentStatusMonitoring = new MessageLearnerLearnerEmploymentStatusEmploymentStatusMonitoring[]
             {
                 new MessageLearnerLearnerEmploymentStatusEmploymentStatusMonitoring()
                 {
                     ESMType          = EmploymentStatusMonitoringType.EII.ToString(),
                     ESMCode          = (int)EmploymentStatusMonitoringCode.EmploymentIntensity20Plus,
                     ESMCodeSpecified = true
                 },
                 new MessageLearnerLearnerEmploymentStatusEmploymentStatusMonitoring()
                 {
                     ESMType          = EmploymentStatusMonitoringType.LOE.ToString(),
                     ESMCode          = (int)EmploymentStatusMonitoringCode.Employed12Plus,
                     ESMCodeSpecified = true
                 }
             }
         };
         messageLearner.LearnerEmploymentStatus = new List <MessageLearnerLearnerEmploymentStatus>()
         {
             les
         }.ToArray();
     }
 }
예제 #2
0
        public void LearnerLearnerEmploymentStatusUplifter_CleanRunShouldIncrementDates()
        {
            // Arrange
            var ruleProvider            = new RuleProvider();
            var yearUpdateConfiguration = new Mock <IYearUpdateConfiguration>();

            yearUpdateConfiguration.Setup(s => s.ShouldUpdateDate(It.IsAny <string>(), It.IsAny <string>())).Returns(true);

            var learnerLearnerEmploymentStatusUplifter = new LearnerLearnerEmploymentStatusUplifter(ruleProvider, yearUpdateConfiguration.Object);

            var messageLearnerLearnerEmploymentStatus = new MessageLearnerLearnerEmploymentStatus
            {
                DateEmpStatApp = new DateTime(2019, 01, 02)
            };

            // Act
            var result = learnerLearnerEmploymentStatusUplifter.Process(messageLearnerLearnerEmploymentStatus);

            // Assert
            yearUpdateConfiguration.Verify(v => v.ShouldUpdateDate("MessageLearnerLearnerEmploymentStatus", "DateEmpStatApp"), Times.Once);

            result.Should().NotBeNull();

            result.DateEmpStatApp.Should().Be(new DateTime(2020, 01, 02));
        }
예제 #3
0
        public void AmalgamateEmploymentStatus_Success()
        {
            InitializeAmalgamator();
            MessageLearner messageLearner = new MessageLearner()
            {
                Parent = new Message()
                {
                    Parent = new AmalgamationRoot()
                    {
                        Filename = "xyz.xml", Message = new Message()
                    }
                }
            };

            MessageLearnerLearnerEmploymentStatus[] messageLearnerLearnerEmploymentStatuses =
            {
                new MessageLearnerLearnerEmploymentStatus()
                {
                    DateEmpStatApp = new DateTime(2020, 06, 01), EmpStat = 2, EmpId = 3, Parent = messageLearner
                },
                new MessageLearnerLearnerEmploymentStatus()
                {
                    DateEmpStatApp = new DateTime(2020, 06, 01), EmpStat = 2, EmpId = 3, Parent = messageLearner
                },
                new MessageLearnerLearnerEmploymentStatus()
                {
                    DateEmpStatApp = new DateTime(2020, 06, 01), EmpStat = 2, EmpId = 3, Parent = messageLearner
                }
            };

            var expectedResult = new MessageLearnerLearnerEmploymentStatus()
            {
                DateEmpStatApp = new DateTime(2020, 06, 01), EmpStat = 2, EmpId = 3,
            };

            var amalgamated = _learnerEmploymentStatusAmalgamator.Amalgamate(messageLearnerLearnerEmploymentStatuses);

            // TODO : revisit test stratagey around nullable fields
            //Assert.Equal(amalgamated.DateEmpStatApp, expectedResult.DateEmpStatApp);
            //Assert.Equal(amalgamated.EmpStat, expectedResult.EmpStat);
            //Assert.Equal(amalgamated.EmpId, expectedResult.EmpId);
            //Assert.Equal(amalgamated.AgreeId, expectedResult.AgreeId);
        }
예제 #4
0
        public void AmalgamateEmploymentStatus_Fail()
        {
            InitializeAmalgamator();
            MessageLearner messageLearner = new MessageLearner()
            {
                LearnRefNumber = "123", Parent = new Message()
                {
                    Parent = new AmalgamationRoot()
                    {
                        Filename = "xyz.xml", Message = new Message()
                    }
                }
            };

            MessageLearnerLearnerEmploymentStatus[] messageLearnerLearnerEmploymentStatuses =
            {
                new MessageLearnerLearnerEmploymentStatus()
                {
                    DateEmpStatApp = new DateTime(2020, 06, 01), EmpStat = 1, EmpId = 3, Parent = messageLearner
                },
                new MessageLearnerLearnerEmploymentStatus()
                {
                    DateEmpStatApp = new DateTime(2020, 06, 01), EmpStat = 2, EmpId = 3, Parent = messageLearner
                },
            };

            var expectedResult = new MessageLearnerLearnerEmploymentStatus()
            {
                DateEmpStatApp = new DateTime(2020, 06, 01), EmpStat = 2, EmpId = 3
            };

            var amalgamated     = _learnerEmploymentStatusAmalgamator.Amalgamate(messageLearnerLearnerEmploymentStatuses);
            var validationError = _amalgamationErrorHandler.Errors;

            validationError.Count.Equals(2);
        }