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); }
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)); }