public async Task AndThereAreUnprocessedPeriodsThenThePeriodsAreReturned() { var lastEventId = "123"; var returnedPeriods = new List <PeriodEnd> { new PeriodEnd { Id = "sdfkujf" }, new PeriodEnd { Id = lastEventId }, new PeriodEnd { Id = "dlfkbmbg" }, new PeriodEnd { Id = "cdvflkbc" } }; var expectedPeriods = returnedPeriods.SkipWhile(x => x.Id != lastEventId.ToString()).Skip(1); EventsRepository.Setup(x => x.GetLastProcessedEventId <string>(_paymentEventFeedName)).ReturnsAsync(lastEventId); EventsApi.Setup(x => x.GetPeriodEnds()).ReturnsAsync(returnedPeriods.ToArray()); var response = await Service.GetUnprocessedPeriodEnds <Payment>(); response.ShouldBeEquivalentTo(expectedPeriods); }
public async Task ThenThePaymentsAreReturned() { var period = "ABC123"; var pageNumber = 3; var expectedResponse = new PageOfResults <Payment>(); EventsApi.Setup(x => x.GetPayments(period, null, pageNumber, null)).ReturnsAsync(expectedResponse); var response = await Service.GetPayments(period, pageNumber); response.Should().BeSameAs(expectedResponse); }
public async Task AndNoPeriodsHaveBeenPreviouslyProcessedThenAllPeriodsAreReturned() { var lastEventId = ""; var returnedPeriods = new List <PeriodEnd> { new PeriodEnd { Id = "509mkfdb" }, new PeriodEnd { Id = "!cvlkbjgnvb" } }; EventsRepository.Setup(x => x.GetLastProcessedEventId <string>(_paymentEventFeedName)).ReturnsAsync(lastEventId); EventsApi.Setup(x => x.GetPeriodEnds()).ReturnsAsync(returnedPeriods.ToArray()); var response = await Service.GetUnprocessedPeriodEnds <Payment>(); response.ShouldBeEquivalentTo(returnedPeriods); }
public async Task AndThereAreNoUnprocessedPeriodsThenNoPeriodsAreReturned() { var lastEventId = "123"; var returnedPeriods = new List <PeriodEnd> { new PeriodEnd { Id = "clbmcvb" }, new PeriodEnd { Id = lastEventId } }; EventsRepository.Setup(x => x.GetLastProcessedEventId <string>(_paymentEventFeedName)).ReturnsAsync(lastEventId); EventsApi.Setup(x => x.GetPeriodEnds()).ReturnsAsync(returnedPeriods.ToArray()); var response = await Service.GetUnprocessedPeriodEnds <Payment>(); response.Should().BeEmpty(); }