public async Task OnprogPayableDataLockEventWithNoApprenticeshipIdShouldNotBeStored( IReceivedDataLockEventStore receivedDataLockEventStore, PayableEarningEvent payableEarningEvent, EarningPeriod period, ApprenticeshipModel apprenticeship, List <DataLockFailure> dataLockFailures, ManageReceivedDataLockEvent manageReceivedDataLockEvent) { period.ApprenticeshipId = default(long?); period.AccountId = default(long?); payableEarningEvent.OnProgrammeEarnings = new List <OnProgrammeEarning> { new OnProgrammeEarning { Periods = (new List <EarningPeriod> { period }).AsReadOnly(), Type = OnProgrammeEarningType.Learning, CensusDate = DateTime.UtcNow } }; await manageReceivedDataLockEvent.ProcessDataLockEvent(payableEarningEvent); var result = (await receivedDataLockEventStore .GetDataLocks(payableEarningEvent.JobId, payableEarningEvent.Ukprn)).ToList(); result.Should().BeEmpty(); }
private async Task <IEnumerable <DataLockEvent> > GetDataLocks(long jobId, long ukprn) { var receivedEvents = await receivedEventStore.GetDataLocks(jobId, ukprn); var dataLocks = receivedEvents.Select(x => { var type = Type.GetType(x.MessageType); return((DataLockEvent)JsonConvert.DeserializeObject(x.Message, type)); }); return(dataLocks); }
public async Task When_job_succeeded_removes_received_dataLock_events( IReceivedDataLockEventStore receivedContext, PriceEpisodesReceivedService sut, TestCaseData testCaseData) { testCaseData.CommonSetup(); await testCaseData.AddDataLockEventToContext(receivedContext); await sut.GetPriceEpisodeChanges(testCaseData.earning.JobId, testCaseData.earning.Ukprn, testCaseData.earning.CollectionYear); (await receivedContext.GetDataLocks(testCaseData.earning.JobId, testCaseData.earning.Ukprn)) .Should().BeEmpty(); }
public async Task StoreOnprogPayableDataLockEvents( IReceivedDataLockEventStore receivedDataLockEventStore, PayableEarningEvent payableEarningEvent, List <EarningPeriod> periods, ApprenticeshipModel apprenticeship, ManageReceivedDataLockEvent manageReceivedDataLockEvent) { CommonTestSetup(payableEarningEvent, periods, apprenticeship); await manageReceivedDataLockEvent.ProcessDataLockEvent(payableEarningEvent); var result = (await receivedDataLockEventStore .GetDataLocks(payableEarningEvent.JobId, payableEarningEvent.Ukprn)).ToList(); result.Should().NotBeNull(); result.Should().HaveCount(1); result[0].MessageType.Should().Be(typeof(PayableEarningEvent).AssemblyQualifiedName); result[0].Message.Should().Be(payableEarningEvent.ToJson()); }
public async Task StoreValidOnprogNonPayableDataLockEvents( IReceivedDataLockEventStore receivedDataLockEventStore, EarningFailedDataLockMatching nonPayableEarningEvent, List <EarningPeriod> periods, ApprenticeshipModel apprenticeship, List <DataLockFailure> dataLockFailures, ManageReceivedDataLockEvent manageReceivedDataLockEvent) { CommonTestSetup(nonPayableEarningEvent, periods, apprenticeship, dataLockFailures); await manageReceivedDataLockEvent.ProcessDataLockEvent(nonPayableEarningEvent); var result = (await receivedDataLockEventStore .GetDataLocks(nonPayableEarningEvent.JobId, nonPayableEarningEvent.Ukprn)).ToList(); result.Should().NotBeNull(); result.Should().HaveCount(1); result[0].MessageType.Should().Be(nonPayableEarningEvent.GetType().AssemblyQualifiedName); result[0].Message.Should().Be(nonPayableEarningEvent.ToJson()); }
public async Task DataLockFunctionalSkillEventsShouldNotBeStored( IReceivedDataLockEventStore receivedDataLockEventStore, ManageReceivedDataLockEvent manageReceivedDataLockEvent, long jobId, long ukprn) { await manageReceivedDataLockEvent.ProcessDataLockEvent(new FunctionalSkillEarningFailedDataLockMatching { JobId = jobId, Ukprn = ukprn }); await manageReceivedDataLockEvent.ProcessDataLockEvent(new PayableFunctionalSkillEarningEvent { JobId = jobId, Ukprn = ukprn }); var result = await receivedDataLockEventStore.GetDataLocks(jobId, ukprn); result.Should().BeEmpty(); }