public void TestCriarVendaItem() { VendaItemDTO vendaItemDTO = ProdutoVendidoFactory("Produto", 1, 10); VendaItemEntity vendaItem = new VendaItemEntity(vendaItemDTO, new CalculadoraPrecoVendaItem()); Assert.NotNull(vendaItem); }
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); } }
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); }
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); }
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); }
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); }
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); }
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); }