Esempio n. 1
0
        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()));
        }
Esempio n. 2
0
        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());
        }