Exemplo n.º 1
0
        public void ThenALevyPaymentIsMade(decimal levyAccountDebit)
        {
            var environmentVariables = EnvironmentVariablesFactory.GetEnvironmentVariables();

            //Get the due amount
            var levyEntity = PaymentsDataHelper.GetPaymentsForPeriod(
                StepDefinitionsContext.GetDefaultProvider().Ukprn,
                null,
                2017,
                09,
                FundingSource.Levy,
                ContractType.ContractWithEmployer,
                environmentVariables)
                             .FirstOrDefault();

            if (levyAccountDebit != 0)
            {
                Assert.IsNotNull(levyEntity, "Expected Levy earning for the period but nothing found");
                Assert.AreEqual(levyAccountDebit, levyEntity.Amount, $"Expected earning of {levyAccountDebit} for period R01 but found {levyEntity.Amount}");
            }
            else
            {
                Assert.IsNull(levyEntity, "There was no expected levy amount for the period but levy amount data found");
            }
        }
Exemplo n.º 2
0
        public void WhenMonthlyPaymentProcessRunsForTheFollowingIlrData(Table table)
        {
            // Setup reference data
            var environmentVariables = EnvironmentVariablesFactory.GetEnvironmentVariables();

            SetupContexLearners(table);

            var provider = StepDefinitionsContext.GetDefaultProvider();

            provider.Ukprn = long.Parse(table.Rows[0]["UKPRN"]);
            var learner = provider.Learners[0];


            var startDate = StepDefinitionsContext.GetIlrStartDate().NextCensusDate();

            SetupValidLearnersData(provider.Ukprn, learner);

            var dueAmount = learner.LearningDelivery.PriceEpisodes[0].TotalPrice * 0.8m / 12;


            EarningsDataHelper.SavePeriodisedValuesForUkprn(provider.Ukprn,
                                                            learner.LearnRefNumber,
                                                            new Dictionary <int, decimal> {
                { 1, dueAmount }
            },
                                                            learner.LearningDelivery.PriceEpisodes[0].Id,
                                                            environmentVariables);

            //Run the month end
            RunMonthEnd(startDate);
        }
Exemplo n.º 3
0
        public void GivenProviderHasPreviouslyEarnedInPeriod(decimal previousAmount)
        {
            var environmentVariables = EnvironmentVariablesFactory.GetEnvironmentVariables();

            StepDefinitionsContext.SetDefaultProvider();

            var provider = StepDefinitionsContext.GetDefaultProvider();
            var learner  = StepDefinitionsContext.CreateLearner(15000, new DateTime(2017, 08, 01), new DateTime(2018, 07, 01));

            SetupEarningsData(provider, learner);

            var committment = StepDefinitionsContext.ReferenceDataContext.Commitments.First();
            var account     = StepDefinitionsContext.ReferenceDataContext.Employers.First(x => x.Name == committment.Employer);

            //Save the previous earning
            EarningsDataHelper.SaveEarnedAmount(
                provider.Ukprn,
                committment.Id,
                account.AccountId,
                learner,
                "1617-R01",
                08,
                2017,
                1,
                previousAmount,
                environmentVariables);
        }
Exemplo n.º 4
0
        public void ThenAGovernmentPaymentIsMade(decimal paidBySfa)
        {
            var environmentVariables = EnvironmentVariablesFactory.GetEnvironmentVariables();

            //Get the due amount
            var governmentDueEntity = PaymentsDataHelper.GetPaymentsForPeriod(
                StepDefinitionsContext.GetDefaultProvider().Ukprn,
                null,
                2017,
                09,
                FundingSource.CoInvestedSfa,
                ContractType.ContractWithEmployer,
                environmentVariables)
                                      .FirstOrDefault();

            if (paidBySfa != 0)
            {
                Assert.IsNotNull(governmentDueEntity, "Expected goverment due for the period but nothing found");
                Assert.AreEqual(paidBySfa, governmentDueEntity.Amount, $"Expected government payment of {paidBySfa} for period R01 but found {governmentDueEntity.Amount}");
            }
            else
            {
                Assert.IsNull(governmentDueEntity, "There was no expected goverment due amount for the period but data was found");
            }
        }
Exemplo n.º 5
0
        public void ThenAEmployerAmountIsExpected(decimal paymentDueFromEmployer)
        {
            var environmentVariables = EnvironmentVariablesFactory.GetEnvironmentVariables();

            //Get the due amount
            var employerPaymentEntity = PaymentsDataHelper.GetPaymentsForPeriod(
                StepDefinitionsContext.GetDefaultProvider().Ukprn,
                null,
                2017,
                09,
                FundingSource.CoInvestedEmployer,
                ContractType.ContractWithEmployer,
                environmentVariables)
                                        .FirstOrDefault();

            if (paymentDueFromEmployer != 0)
            {
                Assert.IsNotNull(employerPaymentEntity, "Expected employer amount for the period but nothing found");
                Assert.AreEqual(paymentDueFromEmployer, employerPaymentEntity.Amount, $"Expected employer amount of {paymentDueFromEmployer} for period R01 but found {employerPaymentEntity.Amount}");
            }
            else
            {
                Assert.IsNull(employerPaymentEntity, "There was no expected employer amount for the period but employer amount data found");
            }
        }
Exemplo n.º 6
0
        public void ThenTheCompletionPaymentIs(decimal completionPayment)
        {
            var environmentVariables = EnvironmentVariablesFactory.GetEnvironmentVariables();

            var learner = StepDefinitionsContext.GetDefaultProvider().Learners.First();
            var output  = LearnerDataHelper.GetOpaApprenticeshipPriceEpisode(StepDefinitionsContext.GetDefaultProvider().Ukprn,
                                                                             learner.LearnRefNumber,
                                                                             learner.LearningDelivery.StartDate,
                                                                             learner.LearningDelivery.PlannedEndDate,
                                                                             environmentVariables);


            Assert.IsNotNull(output, $"Expected AE Learning Delivery but nothing found");
            Assert.AreEqual(completionPayment, output.PriceEpisodeCompletionElement, $"Expected completion payment of {completionPayment} but found {output.PriceEpisodeCompletionElement}");
        }
Exemplo n.º 7
0
        public void ThenTheMonthlyEarningsIs(decimal monthlyEarnings)
        {
            var environmentVariables = EnvironmentVariablesFactory.GetEnvironmentVariables();

            var learner = StepDefinitionsContext.GetDefaultProvider().Learners.First();
            var output  = LearnerDataHelper.GetOpaApprenticeshipPriceEpisode(StepDefinitionsContext.GetDefaultProvider().Ukprn,
                                                                             learner.LearnRefNumber,
                                                                             learner.LearningDelivery.StartDate,
                                                                             learner.LearningDelivery.PlannedEndDate,
                                                                             environmentVariables);


            Assert.IsNotNull(output, $"Expected AE Learning Delivery but nothing found");
            Assert.AreEqual(monthlyEarnings, output.PriceEpisodeInstalmentValue, $"Expected monthly installment of {monthlyEarnings} but found {output.PriceEpisodeInstalmentValue}");
        }
Exemplo n.º 8
0
        public void ThenTheBalancingPaymentIs(decimal balancingPayment)
        {
            var environmentVariables = EnvironmentVariablesFactory.GetEnvironmentVariables();

            var learner      = StepDefinitionsContext.GetDefaultProvider().Learners.First();
            var endDate      = learner.LearningDelivery.ActualEndDate ?? learner.LearningDelivery.PlannedEndDate;
            var periodNumber = endDate.GetPeriodNumber();

            var output = EarningsDataHelper.GetBalancingPaymentForUkprn(StepDefinitionsContext.GetDefaultProvider().Ukprn,
                                                                        $"Period_{periodNumber}",
                                                                        environmentVariables);


            Assert.IsNotNull(output, $"Expected balancing payment value but nothing found");
            Assert.AreEqual(balancingPayment, output, $"Expected balancing payment of {balancingPayment} but found {output}");
        }
Exemplo n.º 9
0
        public void WhenAPaymentIsDue(decimal dueAmount)
        {
            // Setup reference data
            var environmentVariables = EnvironmentVariablesFactory.GetEnvironmentVariables();
            var provider             = StepDefinitionsContext.GetDefaultProvider();
            var learner = provider.Learners[0];

            //save the periodiosed values
            EarningsDataHelper.SavePeriodisedValuesForUkprn(StepDefinitionsContext.GetDefaultProvider().Ukprn,
                                                            learner.LearnRefNumber,
                                                            new Dictionary <int, decimal> {
                { 1, dueAmount }
            },
                                                            learner.LearningDelivery.PriceEpisodes[0].Id,
                                                            environmentVariables);

            RunMonthEnd(new DateTime(2017, 09, 01));
        }
        public static void PrepareDeds()
        {
            var environmentVariables = EnvironmentVariablesFactory.GetEnvironmentVariables();

            var databaseHelper = new DatabaseHelper(environmentVariables);

            databaseHelper.RunDedsScrips();
            databaseHelper.RunAtScrips();

            var processService = new ProcessService(new TestLogger());

            processService.RebuildDedsDatabase(ComponentType.DataLockSubmission, environmentVariables);
            processService.RebuildDedsDatabase(ComponentType.DataLockPeriodEnd, environmentVariables);
            processService.RebuildDedsDatabase(ComponentType.EarningsCalculator, environmentVariables);
            processService.RebuildDedsDatabase(ComponentType.PaymentsDue, environmentVariables);
            processService.RebuildDedsDatabase(ComponentType.LevyCalculator, environmentVariables);
            processService.RebuildDedsDatabase(ComponentType.CoInvestedPayments, environmentVariables);
            processService.RebuildDedsDatabase(ComponentType.ReferenceCommitments, environmentVariables);
            processService.RebuildDedsDatabase(ComponentType.ReferenceAccounts, environmentVariables);
            processService.RebuildDedsDatabase(ComponentType.PeriodEndScripts, environmentVariables);
        }
Exemplo n.º 11
0
        public void ThenAPaymentIsDue(decimal dueAmount)
        {
            var environmentVariables = EnvironmentVariablesFactory.GetEnvironmentVariables();

            //Get the due amount
            var earning = PaymentsDueDataHelper.GetPaymentsDueForPeriod(
                StepDefinitionsContext.GetDefaultProvider().Ukprn,
                2017,
                09,
                environmentVariables)
                          .FirstOrDefault();

            if (dueAmount != 0)
            {
                Assert.IsNotNull(earning, "Expected earning for the period but nothing found");
                Assert.AreEqual(dueAmount, earning.AmountDue, $"Expected earning of {dueAmount} for period R01 but found {earning.AmountDue}");
            }
            else
            {
                Assert.IsNull(earning, "There was no expected earning for the period but earnigs data found");
            }
        }
Exemplo n.º 12
0
        public void GivenTheAccountHasABalance(decimal employerLevyBalance)
        {
            // Setup reference data
            var environmentVariables = EnvironmentVariablesFactory.GetEnvironmentVariables();

            StepDefinitionsContext.SetDefaultProvider();

            var provider = StepDefinitionsContext.GetDefaultProvider();
            var learner  = StepDefinitionsContext.CreateLearner(15000, new DateTime(2017, 08, 01), new DateTime(2018, 08, 08));

            learner.LearningDelivery.PriceEpisodes[0].TotalPrice = 15000;
            learner.LearningDelivery.StandardCode = IlrBuilder.Defaults.StandardCode;

            //setup the data for learnig delivery,learner and earnings
            SetupEarningsData(provider, learner);

            var committment = StepDefinitionsContext.ReferenceDataContext.Commitments.First();
            var account     = StepDefinitionsContext.ReferenceDataContext.Employers.First(x => x.Name == committment.Employer);

            //Update the balance to the value passed in
            AccountDataHelper.UpdateAccountBalance(account.AccountId, employerLevyBalance, environmentVariables);
        }
Exemplo n.º 13
0
 public BaseStepDefinitions(StepDefinitionsContext stepDefinitionsContext)
 {
     StepDefinitionsContext = stepDefinitionsContext;
     EnvironmentVariables   = EnvironmentVariablesFactory.GetEnvironmentVariables();
 }
        public static void ClearOldStuff()
        {
            var environmentVariables = EnvironmentVariablesFactory.GetEnvironmentVariables();

            AcceptanceTestDataHelper.ClearOldDedsIlrSubmissions(environmentVariables);
        }
        public static void ClearCollectionPeriodMapping()
        {
            var environmentVariables = EnvironmentVariablesFactory.GetEnvironmentVariables();

            AcceptanceTestDataHelper.ClearCollectionPeriodMapping(environmentVariables);
        }
        public static void PrepareTestRun()
        {
            RunId = IdentifierGenerator.GenerateIdentifier(12);

            AcceptanceTestDataHelper.CreateTestRun(RunId, DateTime.Now, Environment.MachineName, EnvironmentVariablesFactory.GetEnvironmentVariables());
        }