예제 #1
0
        public void TransactionIsCreated_WhenUserDeposits()
        {
            int     allTransactionsBefore = context.Transactions.CountAsync().Result;
            int     accountId             = 20;
            decimal depositAmount         = 100;

            accountCommandHandler.Deposit(accountId, depositAmount);

            int allTransactionsAfter = context.Transactions.CountAsync().Result;

            Assert.AreEqual(allTransactionsAfter, allTransactionsBefore + 1);
        }
예제 #2
0
        public void AccountBalanceIncreased_WhenUserDeposit()
        {
            int accountId = 20;

            options = new DbContextOptionsBuilder <BankAppDataContext>()
                      .UseInMemoryDatabase(databaseName: "TestingDb")
                      .Options;
            using (var context = new BankAppDataContext(options))
            {
                accountQueriesHandler = new AccountQueriesHandler(context);
                accountCommandHandler = new AccountCommandHandler(context);

                context.Accounts.Add(new Account {
                    AccountId = accountId, Balance = 2000
                });
                context.SaveChanges();
            }

            using (var context = new BankAppDataContext(options))
            {
                accountQueriesHandler = new AccountQueriesHandler(context);
                accountCommandHandler = new AccountCommandHandler(context);

                decimal balanceBefore = accountQueriesHandler.GetAccount(accountId).Balance;
                decimal depositAmount = 1000;

                accountCommandHandler.Deposit(accountId, depositAmount);

                decimal balanceAfter = accountQueriesHandler.GetAccount(accountId).Balance;

                Assert.Greater(balanceAfter, balanceBefore);
            }
        }
예제 #3
0
        public IActionResult Deposit(int accountId, decimal amount)
        {
            if (ModelState.IsValid)
            {
                int result = accountHandler.Deposit(accountId, amount);

                if (result == 1)
                {
                    TempData["success"] = "Deposit executed successfully.";

                    return(View());
                }
            }

            TempData["error"] = "Deposit was unsuccessful. Please check that amount and account Id are correct.";


            return(View());
        }