public async Task Handle_CallsInnerApi_ReturnsValidResponse( GetStandardResponse apiResponseStandard, GetProviderCourseResponse apiResponseProviderCourse, List <GetProviderCourseLocationsResponse> apiResponseProviderCourseLocation, GetProviderCourseQuery query, [Frozen] Mock <ICoursesApiClient <CoursesApiConfiguration> > apiClientMockCourse, [Frozen] Mock <IRoatpCourseManagementApiClient <RoatpV2ApiConfiguration> > apiClientMock, GetProviderCourseQueryHandler sut) { apiClientMockCourse.Setup(c => c.GetWithResponseCode <GetStandardResponse>(It.Is <GetStandardRequest>(c => c.GetUrl.Equals(new GetStandardRequest(query.LarsCode).GetUrl)))). ReturnsAsync(new ApiResponse <GetStandardResponse>(apiResponseStandard, HttpStatusCode.OK, "")); apiClientMock.Setup(c => c.GetWithResponseCode <GetProviderCourseResponse>(It.Is <GetProviderCourseRequest>(c => c.GetUrl.Equals(new GetProviderCourseRequest(query.Ukprn, query.LarsCode).GetUrl)))). ReturnsAsync(new ApiResponse <GetProviderCourseResponse>(apiResponseProviderCourse, 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> >(apiResponseProviderCourseLocation, HttpStatusCode.OK, "")); var result = await sut.Handle(query, new CancellationToken()); result.Should().NotBeNull(); }
public void Handle_CallsInnerApi_ReturnsExceptionWhenStandardGetsInternalServerError( GetProviderCourseQuery query, [Frozen] Mock <ICoursesApiClient <CoursesApiConfiguration> > apiClientMockCourse, GetProviderCourseQueryHandler sut) { apiClientMockCourse.Setup(c => c.GetWithResponseCode <GetStandardResponse>(It.Is <GetStandardRequest>(c => c.GetUrl.Equals(new GetStandardRequest(query.LarsCode).GetUrl)))) .ReturnsAsync(new ApiResponse <GetStandardResponse>(new GetStandardResponse(), HttpStatusCode.InternalServerError, "Error")); Assert.ThrowsAsync <HttpRequestContentException>(() => sut.Handle(query, new CancellationToken())); }
public void Handle_CallsInnerApi_ReturnsExceptionWhenProviderCourseGetsBadRequest( GetStandardResponse apiResponseStandard, GetProviderCourseQuery query, [Frozen] Mock <ICoursesApiClient <CoursesApiConfiguration> > apiClientMockCourse, [Frozen] Mock <IRoatpCourseManagementApiClient <RoatpV2ApiConfiguration> > apiClientMock, GetProviderCourseQueryHandler sut) { apiClientMockCourse.Setup(c => c.GetWithResponseCode <GetStandardResponse>(It.Is <GetStandardRequest>(c => c.GetUrl.Equals(new GetStandardRequest(query.LarsCode).GetUrl)))). ReturnsAsync(new ApiResponse <GetStandardResponse>(apiResponseStandard, HttpStatusCode.OK, "")); apiClientMock.Setup(c => c.GetWithResponseCode <GetProviderCourseResponse>(It.Is <GetProviderCourseRequest>(c => c.GetUrl.Equals(new GetProviderCourseRequest(query.Ukprn, query.LarsCode).GetUrl)))) .ReturnsAsync(new ApiResponse <GetProviderCourseResponse>(new GetProviderCourseResponse(), HttpStatusCode.BadRequest, "Error")); Assert.ThrowsAsync <HttpRequestContentException>(() => sut.Handle(query, new CancellationToken())); }