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));
            }
        }
Exemplo n.º 2
0
        public async Task MovementsContrAddBadReq()
        {
            using (var contex = new ProdContext(options))
            {
                var control = new MovementsController(contex);
                var result  = await control.Post(null);

                var badResult = result.Result as BadRequestResult;
                Assert.Equal(400, badResult.StatusCode);
            }
        }
Exemplo n.º 3
0
        public async Task MovementsContrTest()
        {
            using (var context = new ProdContext(options))
            {
                var control = new MovementsController(context);
                var result  = await control.GetSum(1);

                var actualResult = result.Value;
                Assert.Equal(8, actualResult);
            }
        }
Exemplo n.º 4
0
        public async Task MovementsContrAdd()
        {
            using (var contex = new ProdContext(options))
            {
                var control             = new MovementsController(contex);
                ProductMovements newUom = new ProductMovements {
                    ProductId = 2, Quantity = -50
                };
                var result = await control.Post(newUom);

                var okResult = result.Result as OkObjectResult;
                Assert.Equal(newUom, okResult.Value);
                Assert.Equal(200, okResult.StatusCode);
            }
        }