Exemplo n.º 1
0
        public void TestaObtemProdutoImpostoPorTipoSuperfulos()
        {
            IProdutoImposto produtoImpostoService = new ProdutoImpostoService();

            ProdutoImposto pordutoImpostoObj = produtoImpostoService.ObtemProdutoImpostoPorTipo(TipoProduto.Superfulos);

            Assert.IsInstanceOfType(new ProdutoImpostoSuperfulos(), pordutoImpostoObj.GetType());
        }
Exemplo n.º 2
0
        public void TestaObtemProdutoImpostoPorTipoEletronico()
        {
            IProdutoImposto produtoImpostoService = new ProdutoImpostoService();

            ProdutoImposto pordutoImpostoObj = produtoImpostoService.ObtemProdutoImpostoPorTipo(TipoProduto.Eletronico);

            Assert.IsInstanceOfType(new ProdutoImpostoEletronico(), pordutoImpostoObj.GetType());
        }
        public void TestaCalculaImpostoProdutosCarrinho()
        {
            decimal valorTotalImposto    = 40M;
            decimal valorTotalImpostoAux = 0M;

            IProdutoImposto produtoImpostoService = new ProdutoImpostoService();
            IEstoque        estoqueService        = new EstoqueService();

            ICarrinho carrinhoService = new CarrinhoService(produtoImpostoService, estoqueService);

            Carrinho carrinho = new Carrinho
            {
                Produtos = new List <Produto>()
            };

            carrinho.Produtos.Add(new Produto
            {
                Descricao    = "",
                Valor        = 100M,
                Quantidade   = 3,
                ValorImposto = 0M,
                TipoProduto  = TipoProduto.Alimentos
            });

            carrinho.Produtos.Add(new Produto
            {
                Descricao    = "",
                Valor        = 100M,
                Quantidade   = 3,
                ValorImposto = 0M,
                TipoProduto  = TipoProduto.Eletronico
            });

            carrinho.Produtos.Add(new Produto
            {
                Descricao    = "",
                Valor        = 100M,
                Quantidade   = 3,
                ValorImposto = 0M,
                TipoProduto  = TipoProduto.Superfulos
            });

            List <Produto> listaProdutos = carrinhoService.CalculaImpostoProdutosCarrinho(carrinho.Produtos);

            foreach (Produto produto in listaProdutos)
            {
                valorTotalImpostoAux += produto.ValorImposto;
            }

            Assert.AreEqual(valorTotalImposto, valorTotalImpostoAux);
        }
        public void TestaCalculaValorTotalCarrinho()
        {
            decimal valorTotalPedidoEsperado = 1020.00M;

            IProdutoImposto produtoImpostoService = new ProdutoImpostoService();
            IEstoque        estoqueService        = new EstoqueService();

            ICarrinho carrinhoService = new CarrinhoService(produtoImpostoService, estoqueService);

            Carrinho carrinho = new Carrinho
            {
                Produtos = new List <Produto>()
            };

            carrinho.Produtos.Add(new Produto
            {
                Descricao    = "",
                Valor        = 100M,
                Quantidade   = 3,
                ValorImposto = 0M,
                TipoProduto  = TipoProduto.Alimentos
            });

            carrinho.Produtos.Add(new Produto
            {
                Descricao    = "",
                Valor        = 100M,
                Quantidade   = 3,
                ValorImposto = 0M,
                TipoProduto  = TipoProduto.Eletronico
            });

            carrinho.Produtos.Add(new Produto
            {
                Descricao    = "",
                Valor        = 100M,
                Quantidade   = 3,
                ValorImposto = 0M,
                TipoProduto  = TipoProduto.Superfulos
            });

            carrinho.Produtos = carrinhoService.CalculaImpostoProdutosCarrinho(carrinho.Produtos);

            carrinho.ValorTotalPedido = carrinhoService.CalculaValorTotalCarrinho(carrinho.Produtos);

            Assert.AreEqual(valorTotalPedidoEsperado, carrinho.ValorTotalPedido);
        }
        public void TestaChamadaBaixarEstoqueCarrinho()
        {
            IProdutoImposto produtoImpostoService = new ProdutoImpostoService();
            IEstoque        estoqueService        = new EstoqueService();

            ICarrinho carrinhoService = new CarrinhoService(produtoImpostoService, estoqueService);

            Carrinho carrinho = new Carrinho
            {
                Produtos = new List <Produto>()
            };

            carrinho.Produtos.Add(new Produto
            {
                Descricao    = "",
                Valor        = 100M,
                Quantidade   = 3,
                ValorImposto = 0M,
                TipoProduto  = TipoProduto.Alimentos
            });

            carrinho.Produtos.Add(new Produto
            {
                Descricao    = "",
                Valor        = 100M,
                Quantidade   = 3,
                ValorImposto = 0M,
                TipoProduto  = TipoProduto.Eletronico
            });

            carrinho.Produtos.Add(new Produto
            {
                Descricao    = "",
                Valor        = 100M,
                Quantidade   = 3,
                ValorImposto = 0M,
                TipoProduto  = TipoProduto.Superfulos
            });

            carrinhoService.BaixarEstoqueCarrinho(carrinho);
        }
Exemplo n.º 6
0
        public void TestaEfetuarPedido()
        {
            try
            {
                bool notificarClienteEmail = false;
                bool notificarClienteSms   = true;

                IProdutoImposto produtoImpostoService = new ProdutoImpostoService();
                IEstoque        estoqueService        = new EstoqueService();

                ICarrinho carrinhoService = new CarrinhoService(produtoImpostoService, estoqueService);

                IGatewayPagamento gatewayPagamentoService = new GatewayPagamentoService();

                IPagamento pagamentoService = new PagamentoService(gatewayPagamentoService);

                IMail mailService = new MailService();

                ISms smsService = new SmsService();

                IPedido pedidoService = new PedidoService(carrinhoService, pagamentoService, estoqueService,
                                                          mailService, smsService);

                Cliente cliente = new Cliente
                {
                    Cpf     = "443",
                    Nome    = "ADRIAN",
                    Email   = "*****@*****.**",
                    Celular = "900000000"
                };

                Carrinho carrinho = new Carrinho
                {
                    Produtos         = new List <Produto>(),
                    Cliente          = cliente,
                    FoiEntregue      = false,
                    FoiPago          = false,
                    ValorTotalPedido = 0M
                };

                carrinho.Produtos.Add(new Produto
                {
                    Descricao    = "",
                    Valor        = 100M,
                    Quantidade   = 3,
                    ValorImposto = 0M,
                    TipoProduto  = TipoProduto.Alimentos
                });

                carrinho.Produtos.Add(new Produto
                {
                    Descricao    = "",
                    Valor        = 100M,
                    Quantidade   = 3,
                    ValorImposto = 0M,
                    TipoProduto  = TipoProduto.Eletronico
                });

                carrinho.Produtos.Add(new Produto
                {
                    Descricao    = "",
                    Valor        = 100M,
                    Quantidade   = 3,
                    ValorImposto = 0M,
                    TipoProduto  = TipoProduto.Superfulos
                });

                DetalhePagamento detalhePagamento = new DetalhePagamento
                {
                    FormaPagamento     = FormaPagamento.CartaoDebito,
                    NumeroCartao       = "12453",
                    MesExpiracao       = 4,
                    AnoExpiracao       = 2022,
                    NomeImpressoCartao = "ADRIAN"
                };

                pedidoService.EfetuarPedido(carrinho, detalhePagamento, notificarClienteEmail, notificarClienteSms);
            }
            catch (Exception ex)
            {
                Assert.Fail("Exceção não esperada: " + ex.Message);
            }
        }