public async Task Then_Sends_Earnings_Recalculations_to_Mediator( RecalculateEarningsRequest request, [Frozen] Mock <IMediator> mockMediator, [Greedy] ApprenticeshipIncentiveController controller) { mockMediator .Setup(mediator => mediator.Send( It.Is <RecalculateEarningsCommand>(c => c.RecalculateEarningsRequest.Equals(request)), It.IsAny <CancellationToken>())) .ReturnsAsync(Unit.Value); var controllerResult = await controller.RecalculateEarnings(request) as NoContentResult; Assert.IsNotNull(controllerResult); controllerResult.StatusCode.Should().Be((int)HttpStatusCode.NoContent); }
public async Task Then_a_bad_request_response_is_returned_if_the_inner_api_call_is_not_successful() { // Arrange var fixture = new Fixture(); var mediator = new Mock <IMediator>(); var exception = new HttpRequestContentException("API error", HttpStatusCode.BadRequest, "Invalid request"); mediator.Setup(x => x.Send(It.IsAny <RecalculateEarningsCommand>(), It.IsAny <CancellationToken>())).Throws(exception); var controller = new ApprenticeshipIncentiveController(mediator.Object); var request = fixture.Create <RecalculateEarningsRequest>(); // Act var result = await controller.RecalculateEarnings(request) as BadRequestObjectResult; // Assert result.Should().NotBeNull(); result.Value.Should().Be(exception.ErrorContent); }
public async Task Then_Gets_ApprenticeshipIncentives_From_Mediator( long accountId, long accountLegalEntityId, GetApprenticeshipIncentivesResult mediatorResult, [Frozen] Mock <IMediator> mockMediator, [Greedy] ApprenticeshipIncentiveController controller) { mockMediator .Setup(mediator => mediator.Send( It.Is <GetApprenticeshipIncentivesQuery>(c => c.AccountId.Equals(accountId) && c.AccountLegalEntityId.Equals(accountLegalEntityId)), It.IsAny <CancellationToken>())) .ReturnsAsync(mediatorResult); var controllerResult = await controller.GetApprenticeshipIncentives(accountId, accountLegalEntityId) as ObjectResult; Assert.IsNotNull(controllerResult); controllerResult.StatusCode.Should().Be((int)HttpStatusCode.OK); var model = controllerResult.Value as ApprenticeshipIncentiveDto[]; Assert.IsNotNull(model); model.Should().BeEquivalentTo(mediatorResult.ApprenticeshipIncentives); }