public async Task CreateTransactionAsync_ShouldReturnTransactionResultFromCreateBankTransactionResponse()
        {
            //Arrange
            var bankTransactionRequest        = GetBankTransactionObject();
            var createBankTransactionResponse = GetCreateBankTransactionResponse();
            var expectedTransactionResult     =
                GetTransactionResultFromCreateBankTransactionResponse(createBankTransactionResponse);

            _bankHttpClientMock.Setup(x => x.CreateTransactionAsync(It.IsAny <CreateBankTransactionRequest>()))
            .ReturnsAsync(createBankTransactionResponse);

            var sut = new BankRepository(_bankHttpClientMock.Object, _mapper);

            //Act
            var result = await sut.CreateTransactionAsync(bankTransactionRequest);

            //Assert
            result.Should().BeEquivalentTo(expectedTransactionResult);
        }
        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);
        }