public IActionResult Create([FromBody] CreateBankTransactionRequest request)
        {
            // validar request

            var bankTransaction = this.Mapper.Map <BankTransaction>(request);

            var bankTransactionResult = this.BankTransactionService.Create(bankTransaction);

            return(Ok(bankTransactionResult));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }