public async Task UpdateSubregions_Success_ReturnsNoContent( [Frozen] Mock <IMediator> mediator, [Greedy] ProviderCourseLocationRegionsEditController sut, int ukprn, int larsCode, UpdateStandardSubRegionsCommand command) { mediator.Setup(m => m.Send(It.Is <UpdateStandardSubRegionsCommand>(c => c.Ukprn == ukprn && c.LarsCode == larsCode), It.IsAny <CancellationToken>())).ReturnsAsync(HttpStatusCode.NoContent); var result = await sut.UpdateStandardSubRegions(ukprn, larsCode, command); (result as NoContentResult).Should().NotBeNull(); }
public void Handle_CallsApiClient_ReturnException( [Frozen] Mock <IRoatpCourseManagementApiClient <RoatpV2ApiConfiguration> > apiClientMock, UpdateStandardSubRegionsCommandHandler sut, UpdateStandardSubRegionsCommand command, CancellationToken cancellationToken, HttpRequestContentException expectedException) { apiClientMock.Setup(a => a.Get <List <ProviderLocationModel> >(It.IsAny <GetAllProviderLocationsQuery>())).Throws(expectedException); var actualException = Assert.ThrowsAsync <HttpRequestContentException>(() => sut.Handle(command, cancellationToken)); actualException.Should().Be(expectedException); }
public async Task UpdateSubregions_Failed_ReturnsRespectiveStatusCode( [Frozen] Mock <IMediator> mediator, [Greedy] ProviderCourseLocationRegionsEditController sut, int ukprn, int larsCode, UpdateStandardSubRegionsCommand command) { mediator.Setup(m => m.Send(It.Is <UpdateStandardSubRegionsCommand>(c => c.Ukprn == ukprn && c.LarsCode == larsCode), It.IsAny <CancellationToken>())).ReturnsAsync(HttpStatusCode.BadRequest); var result = await sut.UpdateStandardSubRegions(ukprn, larsCode, command); var statusCodeResult = result as StatusCodeResult; statusCodeResult.Should().NotBeNull(); statusCodeResult.StatusCode.Should().Be((int)HttpStatusCode.BadRequest); }
public async Task Handle_CallsApiClient( [Frozen] Mock <IRoatpCourseManagementApiClient <RoatpV2ApiConfiguration> > apiClientMock, UpdateStandardSubRegionsCommandHandler sut, UpdateStandardSubRegionsCommand command, CancellationToken cancellationToken, List <ProviderLocationModel> apiResponse) { apiClientMock.Setup(a => a.Get <List <ProviderLocationModel> >(It.IsAny <GetAllProviderLocationsQuery>())).ReturnsAsync(apiResponse); var result = await sut.Handle(command, cancellationToken); apiClientMock.Verify(a => a.Get <List <ProviderLocationModel> >(It.IsAny <GetAllProviderLocationsQuery>()), Times.Once); apiClientMock.Verify(a => a.PostWithResponseCode <ProviderLocationsBulkInsertRequest>(It.IsAny <ProviderLocationsBulkInsertRequest>()), Times.Once); apiClientMock.Verify(a => a.Delete(It.IsAny <ProviderCourseLocationsBulkDeleteRequest>()), Times.Once); apiClientMock.Verify(a => a.PostWithResponseCode <ProviderCourseLocationBulkInsertRequest>(It.IsAny <ProviderCourseLocationBulkInsertRequest>()), Times.Once); apiClientMock.Verify(a => a.Delete(It.IsAny <ProviderLocationBulkDeleteRequest>()), Times.Once); Assert.IsNotNull(result); }
public async Task <IActionResult> UpdateStandardSubRegions(int ukprn, int larsCode, UpdateStandardSubRegionsCommand command) { _logger.LogInformation("Outer API: Request to update standard subregions for ukprn: {ukprn} larscode: {larscode}", ukprn, larsCode); command.Ukprn = ukprn; command.LarsCode = larsCode; var httpStatusCode = await _mediator.Send(command); if (httpStatusCode != HttpStatusCode.NoContent) { _logger.LogError("Outer API: Failed request to update standard subregions for ukprn: {ukprn} larscode: {larscode} with HttpStatusCode: {httpstatuscode}", ukprn, larsCode, httpStatusCode); return(new StatusCodeResult((int)httpStatusCode)); } return(NoContent()); }