public async Task LearnerReEmployed() { ImportR04Fm36(); TestSession.FM36Global.UKPRN = TestSession.Provider.Ukprn; TestSession.FM36Global.Learners.ForEach(x => x.ULN = TestSession.Learner.Uln); TestSession.FM36Global.Learners.ForEach(x => x.LearnRefNumber = TestSession.Learner.LearnRefNumber); var dcHelper = Scope.Resolve <IDcHelper>(); await dcHelper.SendIlrSubmission(TestSession.FM36Global.Learners, TestSession.Provider.Ukprn, TestSession.CollectionPeriod.AcademicYear, TestSession.CollectionPeriod.Period, TestSession.Provider.JobId); await WaitForRequiredPayments(2); await EmployerMonthEndHelper.SendLevyMonthEndForEmployers( TestSession.GenerateId(), TestSession.Employers.Select(x => x.AccountId), TestSession.CollectionPeriod.AcademicYear, TestSession.CollectionPeriod.Period, MessageSession); await WaitForPayments(2); }
public async Task AfterPeriodEndRunPaymentsAreGenerated(Table table) { await EmployerMonthEndHelper.SendLevyMonthEndForEmployers( TestSession.GenerateId(), TestSession.Employers.Select(x => x.AccountId), TestSession.CollectionPeriod.AcademicYear, TestSession.CollectionPeriod.Period, MessageSession); var expectedPayments = table.CreateSet <ProviderPayment>().ToList(); expectedPayments.ForEach(ep => ep.Uln = learnerB.Uln); await WaitForIt(() => AssertExpectedPayments(expectedPayments), "Failed to wait for expected number of payments"); }
public async Task WhenASubmissionIsProcessedForthelevyLearner() { var dcHelper = Scope.Resolve <IDcHelper>(); await dcHelper.SendIlrSubmission(TestSession.FM36Global.Learners, TestSession.Provider.Ukprn, TestSession.CollectionPeriod.AcademicYear, TestSession.CollectionPeriod.Period, TestSession.Provider.JobId); await WaitForRequiredPayments(6); await EmployerMonthEndHelper.SendLevyMonthEndForEmployers( TestSession.GenerateId(), TestSession.Employers.Select(x => x.AccountId), TestSession.CollectionPeriod.AcademicYear, TestSession.CollectionPeriod.Period, MessageSession); }
public async Task LearnerMadeRedundant() { ImportR03Fm36(); TestSession.FM36Global.UKPRN = TestSession.Provider.Ukprn; TestSession.FM36Global.Learners.ForEach(x => x.ULN = TestSession.Learner.Uln); TestSession.FM36Global.Learners.ForEach(x => x.LearnRefNumber = TestSession.Learner.LearnRefNumber); TestSession.Employers.Clear(); TestSession.Employers.Add(new Employer { AccountId = TestSession.GenerateId(), Balance = 999999999, IsLevyPayer = true, AccountName = "employer 0" }); TestSession.Employers.Add(new Employer { AccountId = TestSession.GenerateId(), Balance = 999999999, IsLevyPayer = true, AccountName = "employer 1" }); foreach (var employer in TestSession.Employers) { await SaveLevyAccount(employer).ConfigureAwait(false); } ScriptInApprenticeshipsAndPriceEpisodes(); //This creates apprenticeships and apprenticeship prices episodes to match the apprenticeships in the FM36s and the scenario in the ticket var dcHelper = Scope.Resolve <IDcHelper>(); await dcHelper.SendIlrSubmission(TestSession.FM36Global.Learners, TestSession.Provider.Ukprn, TestSession.CollectionPeriod.AcademicYear, TestSession.CollectionPeriod.Period, TestSession.Provider.JobId); await WaitForRequiredPayments(6); await EmployerMonthEndHelper.SendLevyMonthEndForEmployers( TestSession.GenerateId(), TestSession.Employers.Select(x => x.AccountId), TestSession.CollectionPeriod.AcademicYear, TestSession.CollectionPeriod.Period, MessageSession); await WaitForPayments(6); }
public async Task LevyLearnerMadeRedundant() { ImportR07Fm36ForNonRedundantLevyLearner(); await SetUpMatchingCommitment(); var dcHelper = Scope.Resolve <IDcHelper>(); await dcHelper.SendIlrSubmission(TestSession.FM36Global.Learners, TestSession.Provider.Ukprn, TestSession.CollectionPeriod.AcademicYear, TestSession.CollectionPeriod.Period, TestSession.Provider.JobId); await WaitForRequiredPayments(14); await EmployerMonthEndHelper.SendLevyMonthEndForEmployers( TestSession.GenerateId(), TestSession.Employers.Select(x => x.AccountId), TestSession.CollectionPeriod.AcademicYear, TestSession.CollectionPeriod.Period, MessageSession); await WaitForPayments(14); }
public async Task ThereAreLessThan6MonthsRemainingOfPlannedLearning() { ImportR07Fm36ToMakeLearnerRedundant(); await SetUpMatchingCommitment(); CreateDataLockForCommitment(CommitmentIdentifier); TestSession.RegenerateJobId(); var dcHelper = Scope.Resolve <IDcHelper>(); await dcHelper.SendIlrSubmission(TestSession.FM36Global.Learners, TestSession.Provider.Ukprn, TestSession.CollectionPeriod.AcademicYear, TestSession.CollectionPeriod.Period, TestSession.Provider.JobId); await EmployerMonthEndHelper.SendLevyMonthEndForEmployers( TestSession.GenerateId(), TestSession.Employers.Select(x => x.AccountId), TestSession.CollectionPeriod.AcademicYear, TestSession.CollectionPeriod.Period, MessageSession); }