public void LoadRecurringList_NoParameters_ListWithRecurringTrans() { var accountRepoSetup = new Mock<IDataAccess<Account>>(); accountRepoSetup.Setup(x => x.LoadList(null)).Returns(new List<Account>()); var dataAccessSetup = new Mock<IDataAccess<FinancialTransaction>>(); dataAccessSetup.Setup(x => x.LoadList(null)).Returns(new List<FinancialTransaction>()); var repo = new TransactionRepository(dataAccessSetup.Object, new Mock<IDataAccess<RecurringTransaction>>().Object) { Data = new ObservableCollection<FinancialTransaction>(new List<FinancialTransaction> { new FinancialTransaction { Id = 1, IsRecurring = true, RecurringTransaction = new RecurringTransaction {Id = 1, IsEndless = true}, ReccuringTransactionId = 1 }, new FinancialTransaction {Id = 2, IsRecurring = false}, new FinancialTransaction { Id = 3, IsRecurring = true, RecurringTransaction = new RecurringTransaction {Id = 2, IsEndless = false, EndDate = DateTime.Today.AddDays(10)}, ReccuringTransactionId = 2 }, new FinancialTransaction { Id = 4, IsRecurring = true, RecurringTransaction = new RecurringTransaction {Id = 3, IsEndless = false, EndDate = DateTime.Today.AddDays(-10)}, ReccuringTransactionId = 3 } }) }; var result = repo.LoadRecurringList().ToList(); result.Count.ShouldBe(2); result[0].Id.ShouldBe(1); result[1].Id.ShouldBe(3); }
public void LoadRecurringList_ListWithRecurringTransaction() { var dbHelper = new SqliteConnectionCreator(new WindowsSqliteConnectionFactory()); var transactionDataAccess = new TransactionDataAccess(dbHelper); var recTransactionDataAccess = new RecurringTransactionDataAccess(dbHelper); var repository = new TransactionRepository(transactionDataAccess, recTransactionDataAccess); transactionDataAccess.SaveItem(new FinancialTransaction {Amount = 999, IsRecurring = false}); transactionDataAccess.SaveItem(new FinancialTransaction { Amount = 123, IsRecurring = true, RecurringTransaction = new RecurringTransaction {IsEndless = true} }); repository.Load(); var result = repository.LoadRecurringList().ToList(); result.Count.ShouldBe(1); result.First().Id.ShouldBe(2); result.First().RecurringTransaction.Id.ShouldBe(1); }