public void TestEarningPeriodToCalculatedRequiredIncentiveAmountMapping() { var earningPeriod = new EarningPeriod { ApprenticeshipId = 101, ApprenticeshipPriceEpisodeId = 102, Period = 1, ApprenticeshipEmployerType = ApprenticeshipEmployerType.Levy }; var requiredPayment = new CalculatedRequiredIncentiveAmount { Type = IncentivePaymentType.OnProgrammeMathsAndEnglish }; // act mapper.Map(earningPeriod, requiredPayment); var mathsAndEnglishPayment = requiredPayment; Assert.AreEqual(earningPeriod.Period, mathsAndEnglishPayment.DeliveryPeriod); Assert.AreEqual(earningPeriod.ApprenticeshipId, mathsAndEnglishPayment.ApprenticeshipId); Assert.AreEqual(earningPeriod.ApprenticeshipPriceEpisodeId, mathsAndEnglishPayment.ApprenticeshipPriceEpisodeId); Assert.AreEqual(earningPeriod.ApprenticeshipEmployerType, mathsAndEnglishPayment.ApprenticeshipEmployerType); Assert.AreEqual(IncentivePaymentType.OnProgrammeMathsAndEnglish, mathsAndEnglishPayment.Type); }
public SfaFullyFundedFundingSourcePaymentEvent Map(CalculatedRequiredIncentiveAmount requiredPaymentsEvent, FundingSourcePayment payment) { var sfaFullyFundedPayment = mapper.Map <SfaFullyFundedFundingSourcePaymentEvent>(requiredPaymentsEvent); sfaFullyFundedPayment.AmountDue = payment.AmountDue; return(sfaFullyFundedPayment); }
private bool MatchIncentive(CalculatedRequiredIncentiveAmount expected, CalculatedRequiredIncentiveAmount actual) { if (expected == null) { return(true); } return(expected.Type == actual.Type); }
private CalculatedRequiredIncentiveAmount BuildIncentiveRequiredPaymentEvent(RequiredPayment requiredPayment) { var paymentEvent = new CalculatedRequiredIncentiveAmount(); MapCommon(requiredPayment, paymentEvent); paymentEvent.Type = (IncentivePaymentType)requiredPayment.Type; paymentEvent.ContractType = (ContractType)ContractType; return(paymentEvent); }
public void MathsAndEnglishRequiredMappingShouldMapEarningEventIdCorrectly() { var earningEventId = Guid.NewGuid(); var requiredPaymentEvent = new CalculatedRequiredIncentiveAmount() as PeriodisedRequiredPaymentEvent; var earningEvent = new PayableFunctionalSkillEarningEvent { EarningEventId = earningEventId, PriceEpisodes = new List <PriceEpisode>(), LearningAim = new LearningAim() }; var actual = mapper.Map(earningEvent, requiredPaymentEvent); actual.EarningEventId.Should().Be(earningEventId); }
public PeriodisedRequiredPaymentEvent Create(EarningType earningType, int transactionType) { PeriodisedRequiredPaymentEvent paymentEvent = null; switch (earningType) { case EarningType.CoInvested: if (IsValidPaymentType <OnProgrammeEarningType>(transactionType)) { paymentEvent = new CalculatedRequiredCoInvestedAmount { OnProgrammeEarningType = (OnProgrammeEarningType)transactionType, }; } break; case EarningType.Incentive: if (IsValidPaymentType <IncentivePaymentType>(transactionType)) { paymentEvent = new CalculatedRequiredIncentiveAmount { Type = (IncentivePaymentType)transactionType, }; } break; case EarningType.Levy: if (IsValidPaymentType <OnProgrammeEarningType>(transactionType)) { paymentEvent = new CalculatedRequiredLevyAmount { OnProgrammeEarningType = (OnProgrammeEarningType)transactionType, }; } break; default: throw new InvalidOperationException( $"Unknown earning type found: {earningType:G}. Cannot create the PeriodisedRequiredPaymentEvent."); } if (paymentEvent == null) { logger.LogError( $"Invalid EarningType and TransactionType combination: EarningType: {earningType:G}, TransactionType: {transactionType}"); } return(paymentEvent); }
public void TestFunctionalSkillEarningEventMap(IFunctionalSkillEarningEvent functionalSkillEarningsEvent) { // arrange PeriodisedRequiredPaymentEvent requiredPayment = new CalculatedRequiredIncentiveAmount { Ukprn = ukprn, Learner = new Learner { ReferenceNumber = "R", Uln = uln }, StartDate = DateTime.Today.AddDays(-10) }; // act mapper.Map(functionalSkillEarningsEvent, requiredPayment); // assert AssertCommonProperties(requiredPayment, functionalSkillEarningsEvent); Assert.AreEqual(requiredPayment.LearningAim.FundingLineType, functionalSkillEarningsEvent.LearningAim.FundingLineType); functionalSkillEarningsEvent.StartDate.Should().Be(requiredPayment.StartDate); }
public SfaFullyFundedFundingSourcePaymentEvent Process(CalculatedRequiredIncentiveAmount requiredPayment) { var paymentAmount = sfaFullyFundedPaymentProcessor.CalculatePaymentAmount(requiredPayment.AmountDue); return(mapper.Map(requiredPayment, paymentAmount)); }