public IActionResult Create([FromBody] CreateBankTransactionRequest request) { // validar request var bankTransaction = this.Mapper.Map <BankTransaction>(request); var bankTransactionResult = this.BankTransactionService.Create(bankTransaction); return(Ok(bankTransactionResult)); }
public async Task <IActionResult> Post([FromBody] CreateBankTransactionRequest request, [FromQuery] string status = null) { var transactionId = Guid.NewGuid().ToString(); var response = new CreateBankTransactionResponse() { Status = status ?? GetRandomStatus(), TransactionId = transactionId }; return(Ok(response)); }
public async Task <CreateBankTransactionResponse> CreateTransactionAsync(CreateBankTransactionRequest request) { var uri = new Uri(_bankOptions.Url); var transactionResponse = await _httpClient.PostAsJsonAsync(uri, request); await EnsureSuccessStatusAndLogAnyAuthErrors(transactionResponse); var response = await transactionResponse.Deserialize <CreateBankTransactionResponse>(_jsonSerializer); return(response); }
public async Task CreateTransactionAsync_ShouldCreateTransactionWithCorrectRequestMapping() { //Arrange var bankTransactionRequest = GetBankTransactionObject(); var createBankTransactionRequest = GetCreateBankTransactionRequestFromBankTransaction(bankTransactionRequest); var createBankTransactionResponse = GetCreateBankTransactionResponse(); var passedCreateTransactionRequest = new CreateBankTransactionRequest(); _bankHttpClientMock.Setup(x => x.CreateTransactionAsync(It.IsAny <CreateBankTransactionRequest>())) .ReturnsAsync(createBankTransactionResponse) .Callback <CreateBankTransactionRequest>(x => passedCreateTransactionRequest = x); var sut = new BankRepository(_bankHttpClientMock.Object, _mapper); //Act await sut.CreateTransactionAsync(bankTransactionRequest); //Assert passedCreateTransactionRequest.Should().BeEquivalentTo(createBankTransactionRequest); _bankHttpClientMock.Verify(x => x.CreateTransactionAsync(passedCreateTransactionRequest), Times.Once); }