public void Handle_CallsInnerApi_ReturnsExceptionWhenRegionsGetsBadRequest( List <GetProviderCourseLocationsResponse> apiResponseProviderCourseLocations, GetAllStandardRegionsQuery query, [Frozen] Mock <IRoatpCourseManagementApiClient <RoatpV2ApiConfiguration> > apiClientMock, GetAllStandardRegionsQueryHandler sut) { apiClientMock.Setup(c => c.GetWithResponseCode <List <RegionModel> >(It.Is <GetAllRegionsQuery>(c => c.GetUrl.Equals(new GetAllRegionsQuery().GetUrl)))). ReturnsAsync(new ApiResponse <List <RegionModel> >(null, HttpStatusCode.BadRequest, "Error")); 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> >(apiResponseProviderCourseLocations, HttpStatusCode.OK, "")); Assert.ThrowsAsync <HttpRequestContentException>(() => sut.Handle(query, new CancellationToken())); }
public async Task Handle_CallsInnerApi_ReturnsValidResponse( List <RegionModel> apiResponseGetAllRegions, List <GetProviderCourseLocationsResponse> apiResponseProviderCourseLocations, GetAllStandardRegionsQuery query, [Frozen] Mock <IRoatpCourseManagementApiClient <RoatpV2ApiConfiguration> > apiClientMock, GetAllStandardRegionsQueryHandler sut) { apiClientMock.Setup(c => c.GetWithResponseCode <List <RegionModel> >(It.Is <GetAllRegionsQuery>(c => c.GetUrl.Equals(new GetAllRegionsQuery().GetUrl)))). ReturnsAsync(new ApiResponse <List <RegionModel> >(apiResponseGetAllRegions, HttpStatusCode.OK, "")); 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> >(apiResponseProviderCourseLocations, HttpStatusCode.OK, "")); var result = await sut.Handle(query, new CancellationToken()); result.Should().NotBeNull(); result.Regions.Should().NotBeNull(); }