public async Task UpdateProviderCourseConfirmRegulatedStandard_Success_ReturnsNoContent(
            [Frozen] Mock <IMediator> mediator,
            [Greedy] ProviderCourseEditController sut,
            int ukprn, int larsCode, UpdateApprovedByRegulatorCommand command)
        {
            mediator.Setup(m => m.Send(It.Is <UpdateApprovedByRegulatorCommand>(c => c.Ukprn == ukprn && c.LarsCode == larsCode), It.IsAny <CancellationToken>())).ReturnsAsync(Unit.Value);

            var result = await sut.UpdateProviderCourseApprovedByRegulator(ukprn, larsCode, command);

            (result as NoContentResult).Should().NotBeNull();
        }
Example #2
0
        public async Task Handle_CallsApiClient(
            [Frozen] Mock <IRoatpCourseManagementApiClient <RoatpV2ApiConfiguration> > apiClientMock,
            UpdateApprovedByRegulatorCommandHandler sut,
            UpdateApprovedByRegulatorCommand command,
            CancellationToken cancellationToken,
            ProviderCourseUpdateRequest request,
            GetProviderCourseResponse apiResponse)
        {
            apiClientMock.Setup(a => a.Get <GetProviderCourseResponse>(It.IsAny <GetProviderCourseRequest>())).ReturnsAsync(apiResponse);

            await sut.Handle(command, cancellationToken);

            apiClientMock.Verify(a => a.Put(It.IsAny <ProviderCourseUpdateRequest>()), Times.Once);
        }
        public async Task UpdateProviderCourseConfirmRegulatedStandard_Failed_ReturnsRespectiveStatusCode(
            [Frozen] Mock <IMediator> mediator,
            [Greedy] ProviderCourseEditController sut,
            int ukprn, int larsCode, UpdateApprovedByRegulatorCommand command)
        {
            mediator.Setup(m => m.Send(It.Is <UpdateApprovedByRegulatorCommand>(c => c.Ukprn == ukprn && c.LarsCode == larsCode), It.IsAny <CancellationToken>())).ThrowsAsync(new HttpRequestContentException("some error", HttpStatusCode.BadRequest));

            var result = await sut.UpdateProviderCourseApprovedByRegulator(ukprn, larsCode, command);

            var statusCodeResult = result as StatusCodeResult;

            statusCodeResult.Should().NotBeNull();
            statusCodeResult.StatusCode.Should().Be((int)HttpStatusCode.BadRequest);
        }
Example #4
0
        public void Handle_CallsApiClient_ReturnException(
            [Frozen] Mock <IRoatpCourseManagementApiClient <RoatpV2ApiConfiguration> > apiClientMock,
            UpdateApprovedByRegulatorCommandHandler sut,
            UpdateApprovedByRegulatorCommand command,
            CancellationToken cancellationToken,
            GetProviderCourseResponse apiResponse,
            HttpRequestContentException expectedException)
        {
            apiClientMock.Setup(a => a.Get <GetProviderCourseResponse>(It.IsAny <GetProviderCourseRequest>())).ReturnsAsync(apiResponse);

            apiClientMock.Setup(c => c.Put(It.IsAny <ProviderCourseUpdateRequest>())).Throws(expectedException);

            var actualException = Assert.ThrowsAsync <HttpRequestContentException>(() => sut.Handle(command, cancellationToken));

            actualException.Should().Be(expectedException);
        }
 public async Task <IActionResult> UpdateProviderCourseApprovedByRegulator(int ukprn, int larsCode, UpdateApprovedByRegulatorCommand command)
 {
     _logger.LogInformation("Outer API: Request to update confirm regulated standard for ukprn: {ukprn} larscode: {larscode}", ukprn, larsCode);
     command.Ukprn    = ukprn;
     command.LarsCode = larsCode;
     try
     {
         await _mediator.Send(command);
     }
     catch (HttpRequestContentException ex)
     {
         _logger.LogError(ex, "Outer API: Failed request to update update confirm regulated standard for ukprn: {ukprn} larscode: {larscode} with HttpStatusCode: {httpstatuscode}", ukprn, larsCode, ex.StatusCode);
         return(new StatusCodeResult((int)ex.StatusCode));
     }
     return(NoContent());
 }