public async Task And_Result_Exists_Then_Returns_Ok_And_Result( WithdrawApplicationAfterAcceptanceRequest request, int accountId, int applicationId, [Frozen] Mock <IMediator> mockMediator, [Greedy] ApplicationsController applicationController) { var controllerResult = await applicationController.WithdrawApplicationAfterAcceptance(request, accountId, applicationId); var okObjectResult = controllerResult as OkResult; mockMediator.Verify(x => x.Send(It.Is <WithdrawApplicationAfterAcceptanceCommand>(x => x.AccountId == accountId && x.ApplicationId == applicationId && x.UserId == request.UserId && x.UserDisplayName == request.UserDisplayName), It.IsAny <CancellationToken>())); Assert.IsNotNull(controllerResult); Assert.IsNotNull(okObjectResult); }
public async Task <IActionResult> WithdrawApplicationAfterAcceptance([FromBody] WithdrawApplicationAfterAcceptanceRequest request, long accountId, int applicationId) { try { var result = await _mediator.Send(new WithdrawApplicationAfterAcceptanceCommand { AccountId = accountId, ApplicationId = applicationId, UserId = request.UserId, UserDisplayName = request.UserDisplayName }); return(Ok()); } catch (Exception e) { _logger.LogError(e, $"Error attempting to withdraw application after acceptance"); return(new StatusCodeResult((int)HttpStatusCode.InternalServerError)); } }