Ejemplo n.º 1
0
        public void TestCriarVendaItem()
        {
            VendaItemDTO vendaItemDTO = ProdutoVendidoFactory("Produto", 1, 10);

            VendaItemEntity vendaItem = new VendaItemEntity(vendaItemDTO, new CalculadoraPrecoVendaItem());

            Assert.NotNull(vendaItem);
        }
Ejemplo n.º 2
0
 private void AdicionarItens(VendaEntity venda, VendaDTO vendaDTO)
 {
     if (vendaDTO.Itens == null)
     {
         return;
     }
     foreach (var item in vendaDTO.Itens)
     {
         var vendaItem = new VendaItemEntity(item, new CalculadoraPrecoVendaItem());
         venda.AdicionarVendaItem(vendaItem);
     }
 }
Ejemplo n.º 3
0
        public void TestVendaItemExpoeValorUnitarioNormal()
        {
            decimal      valorEsperado = 10.5M;
            VendaItemDTO vendaItemDTO  = ProdutoVendidoFactory(
                descricao: "Produto",
                quantidadeComprada: 1,
                valorUnitario: valorEsperado);
            VendaItemEntity vendaItem = new VendaItemEntity(vendaItemDTO, new CalculadoraPrecoVendaItem());

            decimal valorExposto = vendaItem.ValorUnitario;

            Assert.Equal(valorEsperado, valorExposto);
        }
Ejemplo n.º 4
0
        private VendaEntity VendaFactory(VendaDTO vendaDTO)
        {
            var venda = new VendaEntity(vendaDTO.Cliente, vendaDTO.FormaDePagamento);

            if (vendaDTO.Itens == null)
            {
                return(venda);
            }
            foreach (var item in vendaDTO.Itens)
            {
                var vendaItem = new VendaItemEntity(item, new CalculadoraPrecoVendaItem());
                venda.AdicionarVendaItem(vendaItem);
            }
            return(venda);
        }
Ejemplo n.º 5
0
        public void TesteVendaItemValidaDescricao()
        {
            var listaErros = new List <ValidationResult> {
                new ValidationResult("Item não possui descrição")
            };
            var calculadoraMock = new Mock <ICalculadoraPrecoVendaItem>();
            ICalculadoraPrecoVendaItem calculadora = calculadoraMock.Object;
            VendaItemDTO vendaItemDTO = ProdutoVendidoFactory(
                descricao: string.Empty,
                quantidadeComprada: 1,
                valorUnitario: 0,
                valorUnitarioPromocional: 0);
            VendaItemEntity vendaItem = new VendaItemEntity(vendaItemDTO, calculadora);

            var mensagemErro = vendaItem.Validate();

            Assert.Equal(listaErros.First().ErrorMessage, mensagemErro.First().ErrorMessage);
        }
Ejemplo n.º 6
0
        public void TesteVendaItemValidaQuantidade()
        {
            var listaErros = new List <ValidationResult> {
                new ValidationResult("Quantidade do item Produto não pode ser igual ou menor a zero")
            };
            var calculadoraMock = new Mock <ICalculadoraPrecoVendaItem>();
            ICalculadoraPrecoVendaItem calculadora = calculadoraMock.Object;
            VendaItemDTO vendaItemDTO = ProdutoVendidoFactory(
                descricao: "Produto",
                quantidadeComprada: 0,
                valorUnitario: 1,
                valorUnitarioPromocional: 0);
            VendaItemEntity vendaItem = new VendaItemEntity(vendaItemDTO, calculadora);

            var mensagemErro = vendaItem.Validate();

            Assert.Equal(listaErros.First().ErrorMessage, mensagemErro.First().ErrorMessage);
        }
Ejemplo n.º 7
0
        public void TestVendaItemCalculaValorTotalUsandoCalculadora()
        {
            decimal valorEsperado = 10.5M;
            var     mock          = new Mock <ICalculadoraPrecoVendaItem>();

            mock.Setup(library => library.Calcular(It.IsAny <FormaDePagamento>(), It.IsAny <Quantidade>(), It.IsAny <ValorUnitario>(),
                                                   It.IsAny <Quantidade>(), It.IsAny <ValorUnitario>()))
            .Returns(valorEsperado);
            ICalculadoraPrecoVendaItem calculadora = mock.Object;
            VendaItemDTO vendaItemDTO = ProdutoVendidoFactory(
                descricao: "Produto",
                quantidadeComprada: 1,
                valorUnitario: 0,
                valorUnitarioPromocional: valorEsperado);
            VendaItemEntity vendaItem = new VendaItemEntity(vendaItemDTO, calculadora);

            decimal valorEsposto = vendaItem.ValorTotal(FormaDePagamento.Dinheiro);

            Assert.Equal(valorEsperado, valorEsposto);
        }
Ejemplo n.º 8
0
        public void TestCriarVendaComFormaDePagamento(FormaDePagamento formaDePagamento)
        {
            var cliente  = new ClienteDTO("Cliente");
            var vendaDTO = new VendaDTO()
            {
                Cliente          = cliente,
                FormaDePagamento = formaDePagamento,
                Itens            = new List <VendaItemDTO>()
            };

            VendaEntity venda = new VendaEntity(vendaDTO.Cliente, vendaDTO.FormaDePagamento);

            foreach (var item in vendaDTO.Itens)
            {
                var vendaItem = new VendaItemEntity(item, new CalculadoraPrecoVendaItem());
                venda.AdicionarVendaItem(vendaItem);
            }

            ClienteDTO clienteRetornado = venda.Cliente;

            Assert.Equal(formaDePagamento, venda.FormaDePagamento);
            Assert.Equal(cliente, clienteRetornado);
        }