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);
        }
        public void RecurringTransactionDataAccess_CrudRecurringTransaction()
        {
            var recurringTransactionDataAccess =
                new RecurringTransactionDataAccess(new SqliteConnectionCreator(new WindowsSqliteConnectionFactory()));

            const double firstAmount = 100.70;
            const double secondAmount = 80.45;

            var transaction = new RecurringTransaction
            {
                ChargedAccountId = 7,
                Amount = firstAmount,
                StartDate = DateTime.Today,
                EndDate = DateTime.Now.AddDays(7),
                Note = "this is a note!!!"
            };

            recurringTransactionDataAccess.SaveItem(transaction);


            var list = recurringTransactionDataAccess.LoadList();

            Assert.Equal(1, list.Count);
            Assert.Equal(firstAmount, list.First().Amount);

            transaction.Amount = secondAmount;

            recurringTransactionDataAccess.SaveItem(transaction);

            recurringTransactionDataAccess.LoadList();
            list = recurringTransactionDataAccess.LoadList();

            Assert.Equal(1, list.Count);
            Assert.Equal(secondAmount, list.First().Amount);

            recurringTransactionDataAccess.DeleteItem(transaction);

            recurringTransactionDataAccess.LoadList();
            list = recurringTransactionDataAccess.LoadList();
            Assert.False(list.Any());
        }
Beispiel #3
0
        public void RecurringTransactionDataAccess_CrudRecurringTransaction()
        {
            var recurringTransactionDataAccess = new RecurringTransactionDataAccess();

            const double firstAmount  = 100.70;
            const double secondAmount = 80.45;

            var transaction = new RecurringTransaction {
                ChargedAccountId = 7,
                Amount           = firstAmount,
                StartDate        = DateTime.Today,
                EndDate          = DateTime.Now.AddDays(7),
                Note             = "this is a note!!!"
            };

            recurringTransactionDataAccess.Save(transaction);


            var list = recurringTransactionDataAccess.LoadList();

            Assert.AreEqual(1, list.Count);
            Assert.AreEqual(firstAmount, list.First().Amount);

            transaction.Amount = secondAmount;

            recurringTransactionDataAccess.Save(transaction);

            recurringTransactionDataAccess.LoadList();
            list = recurringTransactionDataAccess.LoadList();

            Assert.AreEqual(1, list.Count);
            Assert.AreEqual(secondAmount, list.First().Amount);

            recurringTransactionDataAccess.Delete(transaction);

            recurringTransactionDataAccess.LoadList();
            list = recurringTransactionDataAccess.LoadList();
            Assert.IsFalse(list.Any());
        }
        public void RecurringTransactionDataAccess_CrudRecurringTransaction()
        {
            var recurringTransactionDataAccess = new RecurringTransactionDataAccess(new DbHelper(new SQLitePlatformWinRT(), new TestDatabasePath()));

            const double firstAmount = 100.70;
            const double secondAmount = 80.45;

            var transaction = new RecurringTransaction
            {
                ChargedAccountId = 7,
                Amount = firstAmount,
                StartDate = DateTime.Today,
                EndDate = DateTime.Now.AddDays(7),
                Note = "this is a note!!!"
            };

            recurringTransactionDataAccess.Save(transaction);

            var list = recurringTransactionDataAccess.LoadList();

            Assert.AreEqual(1, list.Count);
            Assert.AreEqual(firstAmount, list.First().Amount);

            transaction.Amount = secondAmount;

            recurringTransactionDataAccess.Save(transaction);

            recurringTransactionDataAccess.LoadList();
            list = recurringTransactionDataAccess.LoadList();

            Assert.AreEqual(1, list.Count);
            Assert.AreEqual(secondAmount, list.First().Amount);

            recurringTransactionDataAccess.Delete(transaction);

            recurringTransactionDataAccess.LoadList();
            list = recurringTransactionDataAccess.LoadList();
            Assert.IsFalse(list.Any());
        }