public void GetTransactions_ShouldReturnAllTransactions()
        {
            var context = new TestCashFlowContext();

            GetTestTransactions().ForEach((t => context.Transactions.Add(t)));

            var controller = new TransactionController(context);
            var result     = controller.GetTransactions(new TransactionSearchModel()) as OkNegotiatedContentResult <List <Transaction> >;

            Assert.IsNotNull(result);
            Assert.AreEqual(10, result.Content.Count);

            result = controller.GetTransactions(new TransactionSearchModel()
            {
                PageSize = 20
            }) as OkNegotiatedContentResult <List <Transaction> >;
            Assert.IsNotNull(result);
            Assert.AreEqual(20, result.Content.Count);

            result = controller.GetTransactions(new TransactionSearchModel()
            {
                PageNumber = 2, PageSize = 10
            }) as OkNegotiatedContentResult <List <Transaction> >;
            Assert.IsNotNull(result);
            Assert.AreEqual(10, result.Content.Count);

            result = controller.GetTransactions(new TransactionSearchModel()
            {
                AmountFrom = 5
            }) as OkNegotiatedContentResult <List <Transaction> >;
            Assert.IsNotNull(result);
            Assert.AreEqual(10, result.Content.Count);
        }
        public void GetTransaction_ShouldReturnTransactionWithSameID()
        {
            var context = new TestCashFlowContext();

            GetTestTransactions().ForEach((t => context.Transactions.Add(t)));

            var controller = new TransactionController(context);
            var result     = controller.GetTransaction(3) as OkNegotiatedContentResult <Transaction>;

            Assert.IsNotNull(result);
            Assert.AreEqual(3, result.Content.Id);
        }
        public void DeleteTransaction_ShouldReturnOK()
        {
            var context = new TestCashFlowContext();
            var item    = GetTestTransaction();

            context.Transactions.Add(item);

            var controller = new TransactionController(context);
            var result     = controller.DeleteTransaction(1) as OkNegotiatedContentResult <Transaction>;

            Assert.IsNotNull(result);
            Assert.AreEqual(item.Id, result.Content.Id);
        }