public void Handle_CallsInnerApi_ReturnsExceptionWhenProviderCourseGetsBadRequest( GetProviderCourseLocationQuery query, [Frozen] Mock <IRoatpCourseManagementApiClient <RoatpV2ApiConfiguration> > apiClientMock, GetProviderCourseLocationQueryHandler sut) { apiClientMock.Setup(c => c.GetWithResponseCode <List <GetProviderCourseLocationsResponse> >(It.Is <GetProviderCourseLocationsRequest>(c => c.GetUrl.Equals(new GetProviderCourseLocationsRequest(query.Ukprn, query.LarsCode).GetUrl)))) .ReturnsAsync(new ApiResponse <List <GetProviderCourseLocationsResponse> >(new List <GetProviderCourseLocationsResponse>(), HttpStatusCode.BadRequest, "Error")); Assert.ThrowsAsync <HttpRequestContentException>(() => sut.Handle(query, new CancellationToken())); }
public async Task Handle_CallsInnerApi_ReturnsValidResponse( List <GetProviderCourseLocationsResponse> apiResponseProviderCourseLocation, GetProviderCourseLocationQuery query, [Frozen] Mock <IRoatpCourseManagementApiClient <RoatpV2ApiConfiguration> > apiClientMock, GetProviderCourseLocationQueryHandler sut) { apiClientMock.Setup(c => c.GetWithResponseCode <List <GetProviderCourseLocationsResponse> >(It.Is <GetProviderCourseLocationsRequest>(c => c.GetUrl.Equals(new GetProviderCourseLocationsRequest(query.Ukprn, query.LarsCode).GetUrl)))). ReturnsAsync(new ApiResponse <List <GetProviderCourseLocationsResponse> >(apiResponseProviderCourseLocation, HttpStatusCode.OK, "")); var providerCount = apiResponseProviderCourseLocation.Where(l => l.LocationType == LocationType.Provider).Count(); var result = await sut.Handle(query, new CancellationToken()); result.Should().NotBeNull(); result.ProviderCourseLocations.Count.Should().Be(providerCount); result.ProviderCourseLocations.Count.Should().NotBe(apiResponseProviderCourseLocation.Count()); }