コード例 #1
0
        public void TestCriarVendaItem()
        {
            VendaItemDTO vendaItemDTO = ProdutoVendidoFactory("Produto", 1, 10);

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

            Assert.NotNull(vendaItem);
        }
コード例 #2
0
        public VendaItemDTO Converter(VendaItem item)
        {
            var retorno = new VendaItemDTO();

            retorno.Item       = _produtosRepository.Obter(item.ProdutoId);
            retorno.Quantidade = item.Quantidade;
            return(retorno);
        }
コード例 #3
0
 public VendaItemEntity(VendaItemDTO vendaItemDTO, ICalculadoraPrecoVendaItem calculadoraPrecoVendaItem)
 {
     Descricao                  = vendaItemDTO.Descricao;
     ValorUnitario              = vendaItemDTO.ValorUnitario;
     ValorUnitarioPromocional   = vendaItemDTO.ValorUnitarioPromocional;
     Quantidade                 = vendaItemDTO.QuantidadeComprada;
     QuantidadePromocional      = vendaItemDTO.QuantidadePromocional;
     _calculadoraPrecoVendaItem = calculadoraPrecoVendaItem;
 }
コード例 #4
0
        public VendaItem Converter(VendaItemDTO item, int idVenda)
        {
            var retorno = new VendaItem();

            retorno.ProdutoId  = item.Item.Id;
            retorno.Quantidade = item.Quantidade;
            retorno.VendaId    = idVenda;
            return(retorno);
        }
コード例 #5
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);
        }
コード例 #6
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);
        }
コード例 #7
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);
        }
コード例 #8
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);
        }