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(); } }
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)); }
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); }
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); }