예제 #1
0
        public void GetAccount_should_return_the_specified_account()
        {
            IEnumerable <Account> accounts = ObjectCreator.Accounts1();
            var context = new TestBankContext();

            context.Accounts.AddRange(accounts);
            var Repo = new WorkingBankRepo(context);

            var result = Repo.GetAccount(1);

            Assert.IsNotNull(result);
            Assert.AreEqual(result.Id, 1);
        }
예제 #2
0
        public void History_should_return_HistoryModel()
        {
            var context = new TestBankContext();

            var Repo = new WorkingBankRepo(context);

            var result = Repo.History(1);

            Assert.IsNotNull(result);
            Assert.IsTrue(result.Deposits.Count() == 0);
            Assert.IsTrue(result.Transactions.Count() == 0);
            Assert.IsTrue(result.Withdraws.Count() == 0);
        }
예제 #3
0
        public void RemoveAccount_should_set_account_Active_to_false()
        {
            var context = new TestBankContext();

            context.Accounts.AddRange(ObjectCreator.Accounts1());
            var Repo = new WorkingBankRepo(context);

            var account = context.Accounts.Single(a => a.Id == 1);

            Repo.RemoveAccount(account);

            Assert.IsFalse(account.Active);
        }
예제 #4
0
        public void lock_should_lock_withdraw()
        {
            var context = new TestBankContext();

            context.Accounts.AddRange(ObjectCreator.Accounts1());

            var Repo = new WorkingBankRepo(context);

            Repo.LockUnlockAccount(1);

            var result = Repo.GetAccount(1);

            Assert.IsTrue(result.isLocked);
        }
예제 #5
0
        public void AddAccount_should_create_new_account()
        {
            var context = new TestBankContext();
            var Repo    = new WorkingBankRepo(context);

            Repo.AddAccount(new Account {
                Id = 1, ClientId = 1, Balance = 500
            });

            var result = context.Accounts.Single(a => a.Id == 1);

            Assert.IsNotNull(result);
            Assert.AreEqual(result.Id, 1);
        }
예제 #6
0
        public void GetTransactionHistory_should_return_ienumerable_of_transaction()
        {
            IEnumerable <Transaction> transactions = ObjectCreator.Transactions();
            var context = new TestBankContext();

            context.Transactions.AddRange(transactions);

            var Repo = new WorkingBankRepo(context);

            var result  = Repo.GetTransActionHistory(1);
            var result2 = result.ToList();

            Assert.IsNotNull(result);
            Assert.AreEqual(result.Count(), 5);
        }
예제 #7
0
        public void GetBalance_should_return_balance()
        {
            IEnumerable <Account> accounts = ObjectCreator.Accounts1();
            var context = new TestBankContext();

            context.Accounts.AddRange(accounts);

            var Repo = new WorkingBankRepo(context);

            var result = Repo.GetBalance(1);

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(double));
            Assert.AreEqual(result, 5000);
        }
예제 #8
0
        public void AddClient_should_create_new_client()
        {
            var context = new TestBankContext();
            var Repo    = new WorkingBankRepo(context);

            Repo.AddClient(new Client {
                Id = 1, Name = "tester"
            });

            var result = context.Clients.Single(c => c.Id == 1);

            Assert.IsNotNull(result);
            Assert.AreEqual(result.Name, "tester");
            Assert.AreEqual(result.Id, 1);
        }
예제 #9
0
        // GET api/values
        public IEnumerable <string> Get()
        {
            using (var db = new TestBankContext())
            {
                var test = new Assessment()
                {
                    Id          = 100,
                    Name        = "dsf",
                    Description = "Description",
                };
                db.Assessments.Add(test);
                db.SaveChanges();
            }

            return(new string[] { "value1", "value2", "value3" });
        }
예제 #10
0
        public void Transaction_should_create_new_transaction()
        {
            var context = new TestBankContext();

            context.Accounts.AddRange(ObjectCreator.Accounts1());

            var Repo     = new WorkingBankRepo(context);
            var oldCount = context.Transactions.Count();

            Repo.Transaction(new Transaction {
                Id = 1, FromId = 1, ToId = 2, Amount = 500
            });

            var newCount = context.Transactions.Count();

            Assert.IsTrue(newCount == 1);
            Assert.AreEqual(oldCount + 1, newCount);
        }
예제 #11
0
        public void withdraw_should_create_new_withdraw()
        {
            var context = new TestBankContext();

            context.Accounts.AddRange(ObjectCreator.Accounts1());

            var Repo     = new WorkingBankRepo(context);
            var oldCount = context.Withdraws.Count();

            Repo.Withdraw(new Withdraw {
                Id = 1, AccountId = 1, Amount = 500
            });

            var newCount = context.Withdraws.Count();

            Assert.IsTrue(newCount == 1);
            Assert.AreEqual(oldCount + 1, newCount);
        }
예제 #12
0
        public void GetAccounts_should_return_accounts()
        {
            IEnumerable <Account> accounts = ObjectCreator.Accounts1().Where(a => a.Active).Select(a => a);
            var context = new TestBankContext();

            context.Accounts.AddRange(accounts);

            var Repo = new WorkingBankRepo(context);

            var result = Repo.GetAccounts(1);

            Assert.IsNotNull(result);

            var e1 = accounts.GetEnumerator();
            var e2 = result.GetEnumerator();

            while (e1.MoveNext() && e2.MoveNext())
            {
                Assert.AreEqual(e1.Current, e2.Current);
            }
        }
예제 #13
0
        public void GetClients_should_return_clients()
        {
            IEnumerable <Client> clients = ObjectCreator.Clients();
            var context = new TestBankContext();

            context.Clients.AddRange(clients);

            var Repo = new WorkingBankRepo(context);

            var result = Repo.GetClients();

            Assert.IsNotNull(result);

            var e1 = clients.GetEnumerator();
            var e2 = result.GetEnumerator();

            while (e1.MoveNext() && e2.MoveNext())
            {
                Assert.AreEqual(e1.Current, e2.Current);
            }
        }
예제 #14
0
        public void GetClientId_should_return_int_id()
        {
            var context = new TestBankContext();

            context.Clients.AddRange(ObjectCreator.Clients());
            context.Accounts.AddRange(ObjectCreator.Accounts1());
            var Repo = new WorkingBankRepo(context);

            var result1 = Repo.GetClientId(new Deposit {
                Id = 1, AccountId = 1, Amount = 1
            });
            var result2 = Repo.GetClientId(new Withdraw {
                Id = 1, AccountId = 1, Amount = 1
            });
            var result3 = Repo.GetClientId(new Transaction {
                Id = 1, FromId = 1, ToId = 2
            });
            var result4 = Repo.GetClientId(1);

            Assert.AreEqual(result1, 1);
            Assert.AreEqual(result2, 1);
            Assert.AreEqual(result3, 1);
            Assert.AreEqual(result4, 1);
        }