public async Task When_CreatingEpaRecord_CallsInternalApi_Then_ReturnEpaResponseWithResponseCode200( [Frozen] Mock <IHeaderInfo> headerInfo, [Frozen] Mock <IApiClient> apiClient, CreateEpaRequest request, IEnumerable <CreateEpaResponse> response, EpaController sut) { //Arrange apiClient.Setup(client => client.CreateEpas(It.Is <IEnumerable <CreateBatchEpaRequest> >(s => s.First().UkPrn == headerInfo.Object.Ukprn && s.First().RequestId == request.RequestId && s.First().Learner == request.Learner && s.First().LearningDetails == request.LearningDetails && s.First().Standard == request.Standard && s.First().EpaDetails == request.EpaDetails))).ReturnsAsync(response); //Act var result = await sut.CreateEpaRecords(new List <CreateEpaRequest> { request }) as ObjectResult; //Assert result.StatusCode.Should().Be((int)HttpStatusCode.OK); var model = result.Value as IEnumerable <CreateEpaResponse>; model.Should().BeEquivalentTo(response); }
public async Task When_CreatingEpaRecord_WithTooManyRequestsInBatch_CallsInternalApi_Then_ReturnApiResponseWithResponseCode403( CreateEpaRequest request, EpaController sut) { //Arrange var requests = new List <CreateEpaRequest>(); for (var i = 0; i < 26; i++) { requests.Add(request); } //Act var result = await sut.CreateEpaRecords(requests) as ObjectResult; //Assert result.StatusCode.Should().Be((int)HttpStatusCode.Forbidden); ((ApiResponse)result.Value).Message.Should().Be("Batch limited to 25 requests"); }