public async Task AddAmount_Controller_Action_Returns_BadRequest_If_Amendment_Fails()
        {
            // Arrange
            var cardId = "ByDJ0lbYcPkzp2Ja";

            var newAmount = new AdjustAmount
            {
                CardId = cardId,
                Amount = 10
            };

            var newBalance = new BalanceDto()
            {
                Balance = 10
            };

            var transactionService = new Mock <ITransactionService>();

            transactionService.Setup(x => x.AddAmount(It.IsAny <AdjustAmount>())).Returns(() => null);

            // Act
            var controller = new TransactionController(transactionService.Object);
            var result     = (StatusCodeResult)controller.AddAmount(newAmount);

            // Assert
            Assert.Equal(StatusCodes.Status400BadRequest, result.StatusCode);
        }
        public async Task AddAmount_Controller_Action_Returns_Latest_Balance_When_Amount_Added()
        {
            // Arrange
            var cardId = "ByDJ0lbYcPkzp2Ja";

            var newAmount = new AdjustAmount
            {
                CardId = cardId,
                Amount = 10
            };

            var newBalance = new BalanceDto()
            {
                Balance = 10
            };

            var transactionService = new Mock <ITransactionService>();

            transactionService.Setup(x => x.AddAmount(newAmount)).Returns(newBalance);

            // Act
            var controller = new TransactionController(transactionService.Object);
            var result     = controller.AddAmount(newAmount);

            var resultMember = (CreatedAtActionResult)result;

            // Assert
            Assert.Equal(newBalance, resultMember.Value);
        }