public void FinalizeAVendaCalculandoValorTotalTeste() { var venda = CadastreUmaVenda(); var produto1 = ProdutoTeste.CadastreUmProduto(); var produto2 = ProdutoTeste.CadastreUmProduto(); var produtoNaVenda1 = ProdutoNaVendaTestes.CadastreUmProdutoNaVenda(venda, produto1, 11); var produtoNaVenda2 = ProdutoNaVendaTestes.CadastreUmProdutoNaVenda(venda, produto2, 2); var servico = Servico as ServicoDeVenda; servico.FinalizeAVenda(venda); var produtosSalvos = servico.ObtenhaProdutosDaVenda(venda); var valorTotal = 0m; foreach (var produto in produtosSalvos) { valorTotal += produto.Desconto; } Assert.Equal(venda.ValorTotal, valorTotal); Servico.Remova(venda.Codigo); ProdutoTeste.RemovaUmProduto(produto1.Codigo); ProdutoTeste.RemovaUmProduto(produto2.Codigo); ProdutoNaVendaTestes.RemovaUmProdutoNaVenda(produtoNaVenda1.Codigo); ProdutoNaVendaTestes.RemovaUmProdutoNaVenda(produtoNaVenda2.Codigo); }
public void CadastraProdutoNaVendaFechadaErro() { var servico = Servico as ServicoDeProdutoNaVenda; var venda = VendaTeste.CadastreUmaVenda(); var produtoNaVenda = CriaProdutoEFinalizaAVenda(venda); var produto = ProdutoTeste.CadastreUmProduto(); var ex = Assert.Throws <Exception>(() => servico.Cadastre(venda.Codigo, produto.Codigo, 1)); Assert.Equal(ex.Message, ConstantesDeValidacaoDoModel.NAO_EH_POSSIVEL_ALTERAR_UMA_VENDA_FECHADA); }
public void AcidionarItemNaVenda() { var servico = FabricaDeServico.Crie <VendaItem>() as ServicoDeVendaItem; var venda = VendaTeste.CadastrarVenda(); var produto = ProdutoTeste.CadastrarProduto(); var vendaItem = servico.Cadastre(venda.Codigo, produto.Codigo, 10); Assert.NotEqual(0, vendaItem.Codigo); //Todo Remover lixo do Banco }
private ProdutoNaVenda CriaProdutoEFinalizaAVenda(Venda venda) { var servico = Servico as ServicoDeProdutoNaVenda; var servicoDeVenda = FabricaDeServico.Crie <Venda>() as ServicoDeVenda; var produto = ProdutoTeste.CadastreUmProduto(); var produtoNaVenda = servico.Cadastre(venda.Codigo, produto.Codigo, 1); servicoDeVenda.FinalizeAVenda(venda); return(produtoNaVenda); }
public void AcidionarProdutoNaVendaInvalidaError() { var servico = FabricaDeServico.Crie <VendaItem>() as ServicoDeVendaItem; var venda = ObtenhaUmCodigo(); var produto = ProdutoTeste.CadastrarProduto(); var ex = Assert.Throws <Exception>(() => { servico.Cadastre(venda, produto.Codigo, 10); }); Assert.Equal(ex.Message, ConstantesDeValidacaoDoModel.VENDA_INFORMADA_NAO_LOCALICADA); }
public void AdicionarVendaNaoExisteNoProdutoNaVendaErro() { var servico = Servico as ServicoDeProdutoNaVenda; var codigoDaVenda = ObtenhaUmCodigo(); var produto = ProdutoTeste.CadastreUmProduto(); int quantidade = 1; var ex = Assert.Throws <Exception>(() => servico.Cadastre(codigoDaVenda, produto.Codigo, quantidade)); Assert.Equal(ex.Message, ConstantesDeValidacaoDoModel.A_VENDA_INFORMADA_NAO_FOI_ENCONTRADA); ProdutoTeste.RemovaUmProduto(produto.Codigo); }
public void AdicionarProdutoNaVenda() { var servico = Servico as ServicoDeProdutoNaVenda; var venda = VendaTeste.CadastreUmaVenda(); var produto = ProdutoTeste.CadastreUmProduto(); int quantidade = 1; var produtoNaVenda = servico.Cadastre(venda.Codigo, produto.Codigo, quantidade); Assert.NotEqual(produtoNaVenda.Codigo, 0); servico.Remova(produtoNaVenda.Codigo); VendaTeste.RemovaUmaVenda(venda.Codigo); ProdutoTeste.RemovaUmProduto(produto.Codigo); }
public void AdicionarProdutoNaVendaECalculaODeconto(int quantidadeDeProdutos, decimal descontoEsperado) { var servico = Servico as ServicoDeProdutoNaVenda; var venda = VendaTeste.CadastreUmaVenda(); var produto = ProdutoTeste.CadastreUmProduto(); var produtoNaVenda = servico.Cadastre(venda.Codigo, produto.Codigo, quantidadeDeProdutos); var valorTotal = quantidadeDeProdutos * produto.Valor; var desconto = valorTotal * (descontoEsperado / 100); Assert.NotEqual(produtoNaVenda.Codigo, 0); Assert.Equal(produtoNaVenda.Desconto, desconto); servico.Remova(produtoNaVenda.Codigo); VendaTeste.RemovaUmaVenda(venda.Codigo); ProdutoTeste.RemovaUmProduto(produto.Codigo); }
public void FinalizeAVendaTeste() { var venda = CadastreUmaVenda(); var produto1 = ProdutoTeste.CadastreUmProduto(); var produto2 = ProdutoTeste.CadastreUmProduto(); var produtoNaVenda1 = ProdutoNaVendaTestes.CadastreUmProdutoNaVenda(venda, produto1, 1); var produtoNaVenda2 = ProdutoNaVendaTestes.CadastreUmProdutoNaVenda(venda, produto2, 1); var servico = Servico as ServicoDeVenda; servico.FinalizeAVenda(venda); var vendaBancoDeDados = servico.Consulte(venda.Codigo); Assert.Equal(vendaBancoDeDados.Status, StatusDaVenda.FECHADA); Servico.Remova(venda.Codigo); ProdutoTeste.RemovaUmProduto(produto1.Codigo); ProdutoTeste.RemovaUmProduto(produto2.Codigo); ProdutoNaVendaTestes.RemovaUmProdutoNaVenda(produtoNaVenda1.Codigo); ProdutoNaVendaTestes.RemovaUmProdutoNaVenda(produtoNaVenda2.Codigo); }
public void RemoverProdutoNaVenda() { var servico = Servico as ServicoDeProdutoNaVenda; var produto1 = ProdutoTeste.CadastreUmProduto(); var produto2 = ProdutoTeste.CadastreUmProduto(); var venda = VendaTeste.CadastreUmaVenda(); var produtoNaVenda1 = servico.Cadastre(venda.Codigo, produto1.Codigo, 1); var produtoNaVenda2 = servico.Cadastre(venda.Codigo, produto2.Codigo, 1); servico.Remova(produtoNaVenda1.Codigo); servico.Remova(produtoNaVenda2.Codigo); var produtoNaVenda1DoBancoDeDados = servico.Consulte(produtoNaVenda1.Codigo); var produtoNaVenda2DoBancoDeDados = servico.Consulte(produtoNaVenda2.Codigo); Assert.Equal(produtoNaVenda1DoBancoDeDados, null); Assert.Equal(produtoNaVenda2DoBancoDeDados, null); VendaTeste.RemovaUmaVenda(venda.Codigo); ProdutoTeste.RemovaUmProduto(produto1.Codigo); ProdutoTeste.RemovaUmProduto(produto2.Codigo); }