public void GetAllTransactionsOnSortablePayeeWithDateRangeAndOrderDescendingReturnsSortedTransactionCollection() { DataHelper.NewDb(); var payee = "Sortable Payee"; var payeeId = DataHelper.Payees.Where(a => a.Name == payee).SingleOrDefault().Id; var service = new RentalsService(); var expected = DataHelper.Transactions .Where(t => t.PayeeId == payeeId && t.Date >= DateTime.Today.AddMonths(-6) && t.Date <= DateTime.Today); var actual = service.GetAllTransactionsWithAccountAndPayeeAndCategory( null, payee, null, DateTime.Today.AddMonths(-6), DateTime.Today, false); Assert.IsNotNull(actual); var order = actual.First().Amount; foreach (var transaction in actual) { Assert.AreEqual(order, transaction.Amount); order -= 1.00m; } }
public void GetAllTransactionsWhenSearchedOnAccountAndPayeeAndCategoryReturnsSortedTransactionCollection() { DataHelper.NewDb(); var account = "sort"; var accountId = DataHelper.Accounts.Where(a => a.Name.ToLower().Contains(account)).SingleOrDefault().Id; var payee = "gas"; var payeeId = DataHelper.Payees.Where(a => a.Name.ToLower().Contains(payee)).SingleOrDefault().Id; var category = "charges"; var categoryId = DataHelper.Categories.Where(a => a.Name.ToLower().Contains(category)).SingleOrDefault().Id; var service = new RentalsService(); var expectedAccountMatches = DataHelper.Transactions .Where(t => t.AccountId == accountId && t.Date >= DateTime.Today.AddMonths(-6) && t.Date <= DateTime.Today).Count(); var expectedPayeeMatches = DataHelper.Transactions .Where(t => t.PayeeId == payeeId && t.Date >= DateTime.Today.AddMonths(-6) && t.Date <= DateTime.Today).Count(); var expectedCategoryMatches = DataHelper.Transactions .Where(t => t.CategoryId == categoryId && t.Date >= DateTime.Today.AddMonths(-6) && t.Date <= DateTime.Today).Count(); var actual = service.GetAllTransactionsWithAccountAndPayeeAndCategory( account, payee, category, DateTime.Today.AddMonths(-6), DateTime.Today, true); Assert.IsNotNull(actual); Assert.AreEqual(expectedAccountMatches, actual.Count(t => t.AccountId == accountId)); Assert.AreEqual(expectedPayeeMatches, actual.Count(t => t.PayeeId == payeeId)); Assert.AreEqual(expectedCategoryMatches, actual.Count(t => t.CategoryId == categoryId)); }
public void CanDeleteTransaction() { DataHelper.NewDb(); var service = new RentalsService(); service.RemoveTransaction(1); Assert.AreEqual(DataHelper.Transactions.Count - 1, service.GetAllTransactionsWithAccountAndPayeeAndCategory().Count); }
public void GetAllTransactionsWithNoFilteringReturnsAllTransactionsCollection() { DataHelper.NewDb(); var service = new RentalsService(); var actual = service.GetAllTransactionsWithAccountAndPayeeAndCategory(); Assert.IsNotNull(actual); Assert.AreEqual(DataHelper.Transactions.Count, actual.Count); }
public void GetAllTransactionsWithDateTomorrowReturnsEmptyTransactionCollection() { DataHelper.NewDb(); var service = new RentalsService(); var actual = service.GetAllTransactionsWithAccountAndPayeeAndCategory( null, null, null, DateTime.Today.AddDays(1), DateTime.Today.AddDays(1)); Assert.IsNotNull(actual); Assert.AreEqual(0, actual.Count); }
public void GetAllTransactionsOnSortableAccountWithDateTodayReturnsTransactionCollection() { DataHelper.NewDb(); var account = "Sortable Account"; var accountId = DataHelper.Accounts.Where(a => a.Name == account).SingleOrDefault().Id; var service = new RentalsService(); var expected = DataHelper.Transactions .Where(t => t.AccountId == accountId && t.Date == DateTime.Today); var actual = service.GetAllTransactionsWithAccountAndPayeeAndCategory( account, null, null, DateTime.Today, DateTime.Today); Assert.IsNotNull(actual); Assert.AreEqual(expected.Count(), actual.Count); }