public IActionResult ValorFinal([FromBody] PedidoLanche pedidoLanche)
        {
            if (pedidoLanche == null)
            {
                return(BadRequest());
            }
            pedidoLanche.ValorFinal = _pedidoLancheBll.CalcularPrecoLanche(pedidoLanche);

            return(CreatedAtRoute("GetPedidoLanche", new { id = pedidoLanche.Id }, pedidoLanche));
        }
Exemple #2
0
        public void TestValorePromocaoLight()
        {
            var dataPedidoLanche = new PedidoLanche
            {
                Id       = 1,
                IdLanche = 1,
                Lanche   = new Lanche()
                {
                    Id = 1
                },
                IngredientesAdicionais = new Collection <IngredienteAdicional>()
                {
                    new IngredienteAdicional()
                    {
                        Quantidade  = 1,
                        Ingrediente = new Ingrediente()
                        {
                            Id        = 1,
                            Descricao = "Alface",
                            Valor     = 0.40
                        }
                    },
                    new IngredienteAdicional()
                    {
                        Quantidade  = 1,
                        Ingrediente = new Ingrediente()
                        {
                            Id        = 2,
                            Descricao = "Queijo",
                            Valor     = 1.5
                        }
                    },
                    new IngredienteAdicional()
                    {
                        Quantidade  = 1,
                        Ingrediente = new Ingrediente()
                        {
                            Id        = 3,
                            Descricao = "Ovo",
                            Valor     = 0.8
                        }
                    }
                }
            };

            var dataLanche = new Lanche()
            {
                Descricao          = "X-Egg",
                LancheIngredientes = new Collection <LancheIngrediente>()
                {
                    new LancheIngrediente()
                    {
                        Ingrediente = new Ingrediente()
                        {
                            Id        = 3,
                            Descricao = "Ovo",
                            Valor     = 0.8
                        }
                    },
                    new LancheIngrediente()
                    {
                        Ingrediente = new Ingrediente()
                        {
                            Id        = 8,
                            Descricao = "Hambúrguer de carne",
                            Valor     = 3
                        }
                    }
                }
            };

            _lancheBllMock.Setup(theObject => theObject.Find(dataPedidoLanche.Id)).Returns(dataLanche);

            _ingredienteBllMock.Setup(theObject => theObject.FindByDescription("Hambúrguer de carne")).Returns(new Ingrediente()
            {
                Id = 8
            });
            _ingredienteBllMock.Setup(theObject => theObject.FindByDescription("Queijo")).Returns(new Ingrediente()
            {
                Id = 10
            });
            var valor = _pedidoLancheBll.CalcularPrecoLanche(dataPedidoLanche);

            _lancheBllMock.Verify(x => x.Find(1), Times.Once());
            Assert.Equal(5.85, valor);
        }