public async Task <IActionResult> Post([FromBody] CreateWalletRequestModel createWalletRequest) { try { var response = await _mediator.Send(createWalletRequest); return(Created("api/wallet", new PayloadedResponse <CreateWalletResponseModel> { Data = response, Message = "Wallet created successfully", Success = true })); } catch (ArgumentException ex) { return(BadRequest(new Response { Success = false, Message = ex.Message })); } catch (Exception ex) { return(StatusCode(500, new ErrorResponse { Errors = { ex }, Success = false, Message = ex.Message })); } }
public async Task Ensure_Create_Wallet_Success_Result() { //Arrange var createWallet = new CreateWalletRequestModel(); Mediator.Setup(x => x.Send(It.IsAny <CreateWalletRequestModel>(), new CancellationToken())). ReturnsAsync(new CreateWalletResponseModel { Label = "New Wallet", Id = Guid.NewGuid() }); var walletController = new WalletController(Mediator.Object); //Action var result = await walletController.Post(createWallet); //Assert Assert.IsType <CreatedResult>(result); }