public void FindAnAccountWithTransactionsThatDoesNotExistReturnsNull() { DataHelper.NewDb(); var service = new RentalsService(); var actual = service.FindAccountWithTransactions(999); Assert.IsNull(actual); }
public void FindAccountWithTransactionsWithDateTodayReturnsEmptyTransactionCollection() { DataHelper.NewDb(); var service = new RentalsService(); var actual = service.FindAccountWithTransactions(1, DateTime.Today, DateTime.Today); Assert.IsNotNull(actual); Assert.AreEqual(0, actual.Transactions.Count); }
public void FindAccountWithTransactionsOnSortableAccountWithDateTodayReturnsTransactionCollection() { DataHelper.NewDb(); var accountId = DataHelper.Accounts.Where(a => a.Name == "Sortable Account").SingleOrDefault().Id; var service = new RentalsService(); var expected = DataHelper.Transactions .Where(t => t.AccountId == accountId && t.Date == DateTime.Today); var actual = service.FindAccountWithTransactions(accountId, DateTime.Today, DateTime.Today); Assert.IsNotNull(actual); Assert.AreEqual(expected.Count(), actual.Transactions.Count); }
public void CanFindAccountWithTransactionsById() { DataHelper.NewDb(); var service = new RentalsService(); var actual = service.FindAccountWithTransactions(1); var expected = DataHelper.Accounts.SingleOrDefault(a => a.Id == 1); Assert.AreEqual(expected.Name, actual.Name); Assert.AreEqual(expected.OpeningBalance, actual.OpeningBalance); Assert.AreEqual(DataHelper.GetAccountBalance(1), actual.Balance); Assert.AreEqual(expected.Transactions.Count, actual.Transactions.Count); }
public void FindingAnAccountWithTransactionsByIdAlsoReturnsABalanceForEachTransaction() { DataHelper.NewDb(); var service = new RentalsService(); var actual = service.FindAccountWithTransactions(1); var balance = actual.OpeningBalance; var transactions = actual.Transactions.ToArray(); foreach (var transaction in transactions) { balance += transaction.Amount; Assert.AreEqual(balance, transaction.Balance); } }
public void FindAccountWithTransactionsOnSortableAccountWithDateRangeAndOrderAscendingReturnsSortedTransactionCollection() { DataHelper.NewDb(); var accountId = DataHelper.Accounts.Where(a => a.Name == "Sortable Account").SingleOrDefault().Id; var service = new RentalsService(); var expected = DataHelper.Transactions .Where(t => t.AccountId == accountId && t.Date >= DateTime.Today.AddMonths(-6) && t.Date <= DateTime.Today); var actual = service.FindAccountWithTransactions(accountId, DateTime.Today.AddMonths(-6), DateTime.Today, true); Assert.IsNotNull(actual); var order = actual.Transactions.First().Amount; foreach (var transaction in actual.Transactions) { Assert.AreEqual(order, transaction.Amount); order += 1.00m; } }