Beispiel #1
0
        public void AdicionarLanchePedido(LanchePedidoDTO lanchePedido)
        {
            _servicoAplicacaoLanche.CalcularValorLanche(lanchePedido);
            var promocoes = _servicoAplicacaoPromocao.VerificaPromocoes(lanchePedido.IngredientesPedido);

            lanchePedido.Promocoes = promocoes.ToList();
        }
Beispiel #2
0
        public void PromocaoMuitoQueijo()
        {
            _mockServicoPromocao      = new Mock <IServicoPromocao>();
            _servicoAplicacaoPromocao = new ServicoAplicacaoPromocao(_mockServicoPromocao.Object);
            var lanche = new LanchePedidoDTO();

            lanche.IngredientesPedido = new List <IngredienteLancheDTO>();
            lanche.IngredientesPedido.Add(new IngredienteLancheDTO {
                Nome = "Queijo", Quantidade = 3, Valor = 1.50M, TipoIngrediente = Dominio.Enumeradores.TipoIngrediente.Queijo
            });
            lanche.IngredientesPedido.Add(new IngredienteLancheDTO {
                Nome = "Hamburger", Quantidade = 1, Valor = 3.00M, TipoIngrediente = Dominio.Enumeradores.TipoIngrediente.Carne
            });
            lanche.Quantidade = 1;

            _mockServicoPromocao.Setup(m => m.ObterPorTipo(TipoPromocao.MuitaCarne))
            .Returns((TipoPromocao tipo) =>
            {
                return(new Promocao {
                    Nome = "Muita Carne", TipoPromocao = TipoPromocao.MuitaCarne
                });
            });
            _mockServicoPromocao.Setup(m => m.ObterPorTipo(TipoPromocao.MuitoQueijo))
            .Returns((TipoPromocao tipo) =>
            {
                return(new Promocao {
                    Nome = "Muito Queijo", TipoPromocao = TipoPromocao.MuitoQueijo
                });
            });
            _mockServicoPromocao.Setup(m => m.ObterPorTipo(TipoPromocao.Light))
            .Returns((TipoPromocao tipo) =>
            {
                return(new Promocao {
                    Nome = "Light", TipoPromocao = TipoPromocao.Light
                });
            });
            var promocoes = _servicoAplicacaoPromocao.VerificaPromocoes(lanche.IngredientesPedido);

            Assert.True(promocoes.Any());
            Assert.Contains(promocoes, a => a.TipoPromocao == TipoPromocao.MuitoQueijo);
            Assert.DoesNotContain(promocoes, a => a.TipoPromocao == TipoPromocao.MuitaCarne);
        }
Beispiel #3
0
        public ActionResult VerificaPromocoes(List <IngredienteLancheDTO> ingredientes)
        {
            var promocoes = _servicoAplicacaoPromocao.VerificaPromocoes(ingredientes);

            return(PartialView("_Promocoes", promocoes));
        }