public void AccountNotFound()
        {
            var depositAmount = "500";
            var expected      = "Account not found.";

            BankRepository.AddAccounts(Customer.Accounts);

            var result = BankRepository.Deposit("123142", depositAmount);

            Assert.Equal(result, expected);
        }
Beispiel #2
0
        public void TestWithdrawal()
        {
            // Arrange
            var account          = Customer.Accounts.First();
            var withdrawalAmount = 500m;
            var expectedBalance  = 7000m;

            BankRepository.AddAccounts(Customer.Accounts);

            // Act
            var result = BankRepository.Withdraw(withdrawalAmount, account.AccountID);

            // Assert
            Assert.Equal(account.Balance, expectedBalance);
        }
Beispiel #3
0
        public void TestDeposit()
        {
            // Arrange
            var account         = Customer.Accounts.First();
            var depositAmount   = 500m;
            var expectedBalance = 8000m;

            BankRepository.AddAccounts(Customer.Accounts);

            // Act
            var result = BankRepository.Deposit(depositAmount, account.AccountID);

            // Assert
            Assert.Equal(account.Balance, expectedBalance);
        }
Beispiel #4
0
        public void TestWithdrawTooMuch()
        {
            // Arrange
            var account          = Customer.Accounts.First();
            var withdrawalAmount = 8000m;

            //var expectedBalance = -500m;

            BankRepository.AddAccounts(Customer.Accounts);

            // Act
            var result = BankRepository.Withdraw(withdrawalAmount, account.AccountID);

            // Assert
            Assert.False(result);
        }
        public void SuccessfullDeposit()
        {
            var account         = Customer.Accounts.First();
            var depositAmount   = "500";
            var expectedReturn  = "The selected amount " + depositAmount + " has been deposited to account: " + account.AccountId;
            var expectedBalance = 5500M;

            BankRepository.AddAccounts(Customer.Accounts);

            var result = BankRepository.Deposit(account.AccountId.ToString(), depositAmount);

            expectedReturn += ". Current balance: " + account.Balance + ".";

            Assert.Equal(result, expectedReturn);
            Assert.Equal(account.Balance, expectedBalance);
        }
Beispiel #6
0
        public void SuccessfullWithdrawal()
        {
            var account          = Customer.Accounts.First();
            var withdrawalAmount = "500";
            var expectedReturn   = "The selected amount " + withdrawalAmount + " has been withdrawn from account: " + account.AccountId;
            var expectedBalance  = 4500M;

            BankRepository.AddAccounts(Customer.Accounts);

            var result = BankRepository.Withdraw(account.AccountId.ToString(), withdrawalAmount);

            expectedReturn += ". Current balance: " + account.Balance + ".";

            Assert.Equal(result, expectedReturn);
            Assert.Equal(account.Balance, expectedBalance);
        }
Beispiel #7
0
        public void TestWithdrawalNegativeAmount()
        {
            // Arrange
            var account          = Customer.Accounts.First();
            var withdrawalAmount = -8000m;
            var expectedResult   = BankRepository.Errormessage;
            var expected         = 7500m;


            BankRepository.AddAccounts(Customer.Accounts);

            // Act
            var result = BankRepository.Withdraw(withdrawalAmount, account.AccountID);

            // Assert
            Assert.Equal(expected, account.Balance);
        }
Beispiel #8
0
        public void TransferAmountTooHigh()
        {
            var     accountSender   = Customer.Accounts.First();
            var     accountReceiver = Customer.Accounts.Last();
            decimal transferAmount  = 50000M;
            var     expectedBalanceOnSenderAccount   = 5000M;
            var     expectedBalanceOnReceiverAccount = 5000M;
            var     expectedMsg = "You have insufficient founds";

            BankRepository.AddAccounts(Customer.Accounts);

            var result = BankRepository.Transfer(accountSender.AccountId, accountReceiver.AccountId, transferAmount);

            Assert.Equal(result, expectedMsg);
            Assert.Equal(expectedBalanceOnSenderAccount, accountSender.Balance);
            Assert.Equal(expectedBalanceOnReceiverAccount, accountReceiver.Balance);
        }
Beispiel #9
0
        public void SuccessfullTransfer()
        {
            var     accountSender   = Customer.Accounts.First();
            var     accountReceiver = Customer.Accounts.Last();
            decimal transferAmount  = 500M;
            var     expectedBalanceOnSenderAccount   = 4500M;
            var     expectedBalanceOnReceiverAccount = 5500M;
            var     expectedMsg = $"Successfully transferred {transferAmount} from account {accountSender.AccountId}. " +
                                  $"Current balance on accounts: {accountSender.AccountId} = {accountSender.Balance}. " +
                                  $"{accountReceiver.AccountId} = {accountReceiver.Balance}";

            BankRepository.AddAccounts(Customer.Accounts);

            var result = BankRepository.Transfer(accountSender.AccountId, accountReceiver.AccountId, transferAmount);

            Assert.Equal(result, expectedMsg);
            Assert.Equal(expectedBalanceOnSenderAccount, accountSender.Balance);
            Assert.Equal(expectedBalanceOnReceiverAccount, accountReceiver.Balance);
        }
Beispiel #10
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
                // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
                app.UseHsts();
            }

            app.UseHttpsRedirection();
            app.UseStaticFiles();
            app.UseCookiePolicy();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });
            var customers = AddCustomers();

            BankRepository.AddCustomers(customers);
            var allAccounts = new List <Account>();

            foreach (var c in customers)
            {
                foreach (var account in c.Accounts)
                {
                    allAccounts.Add(account);
                }
            }

            BankRepository.AddAccounts(allAccounts);
        }