Пример #1
0
 public ServicoAplicacaoPedido(IServicoAplicacaoLanche servicoAplicacaoLanche,
                               IServicoAplicacaoPromocao servicoAplicacaoPromocao,
                               IServicoPedido servicoPedido)
 {
     _servicoAplicacaoLanche   = servicoAplicacaoLanche;
     _servicoAplicacaoPromocao = servicoAplicacaoPromocao;
     _servicoPedido            = servicoPedido;
 }
Пример #2
0
 public PedidoController(IServicoAplicacaoLanche servicoAplicacaoLanche,
                         IServicoAplicacaoPromocao servicoAplicacaoPromocao,
                         IServicoAplicacaoPedido servicoAplicacaPedido)
 {
     _servicoAplicacaoLanche   = servicoAplicacaoLanche;
     _servicoAplicacaoPromocao = servicoAplicacaoPromocao;
     _servicoAplicacaPedido    = servicoAplicacaPedido;
 }
Пример #3
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);
        }
Пример #4
0
 public PromocaoController(IServicoAplicacaoPromocao servicoAplicacaoPromocao)
 {
     _servicoAplicacaoPromocao = servicoAplicacaoPromocao;
 }