Beispiel #1
0
        public async Task Handle_CallsInnerApi(
            [Frozen] Mock <IRoatpCourseManagementApiClient <RoatpV2ApiConfiguration> > apiClientMock,
            List <ProviderLocationModel> locations,
            GetAllProviderLocationsQuery query,
            GetAllProviderLocationsQueryHandler sut)
        {
            apiClientMock.Setup(c => c.Get <List <ProviderLocationModel> >(It.Is <GetAllProviderLocationsQuery>(q => q == query))).ReturnsAsync(locations);
            var result = await sut.Handle(query, new CancellationToken());

            result.ProviderLocations.Should().BeEquivalentTo(locations);
        }
Beispiel #2
0
        public async Task <IActionResult> GetAllProviderLocations([FromRoute] int ukprn)
        {
            _logger.LogInformation("Request received for all locations for ukprn: {ukprn}", ukprn);
            var query  = new GetAllProviderLocationsQuery(ukprn);
            var result = await _mediator.Send(query);

            if (result.ProviderLocations == null)
            {
                _logger.LogInformation("Invalid ukprn: {ukprn}", ukprn);
                return(BadRequest());
            }
            _logger.LogInformation($"Found {result.ProviderLocations.Count} locations for ukprn: {ukprn}");
            return(Ok(result.ProviderLocations));
        }