Exemplo n.º 1
0
        public void Create_WhenGivenADeposit_ThenTheBalanceIsIncreasedAndANewMovementIsCreated()
        {
            var options = new DbContextOptionsBuilder <ExpensesContext>()
                          .UseInMemoryDatabase(databaseName: "Create_WhenGivenADeposit_ThenTheBalanceIsIncreasedAndANewMovementIsCreated")
                          .Options;

            using (var expensesContext = new ExpensesContext(options))
            {
                expensesContext.Categories.Add(new Category("Foo"));
                var controller = new MovementsController(expensesContext);

                var form = new MovementForm
                {
                    Amount     = 100,
                    Type       = "deposit",
                    CategoryId = 1
                };
                var result = controller.Create(form);

                Assert.IsAssignableFrom <JsonResult>(result);
                dynamic json = ((JsonResult)result).Value;
                //Assert.Equal(100M, (decimal)json.balance);
                //Assert.Equal(100M, (decimal)json.movement.amount);
                Assert.Equal(1, expensesContext.Movements.ToArray().Length);
                Assert.Equal(100M, expensesContext.Movements.Sum(m => m.Amount));
            }
        }