Example #1
0
        public void IniciarCenario()
        {
            _repositorio = new NotaFiscalEmitidaRepositorioSql();

            _notaFiscalRepositorioXML = new NotaFiscalRepositorioXML();

            _destinatarioRepositorio         = new DestinatarioRepositorioSql();
            _emitenteRepositorio             = new EmitenteRepositorioSql();
            _transportadorRepositorio        = new TransportadorRepositorioSql();
            _produtoNotaFiscalRepositorioSql = new ProdutoNotaFiscalRepositorioSql();

            BaseSqlTeste.InicializarBancoDeDadosPrepararNotaFiscalEmitida();

            long idEmitenteCadastradoPorBaseSql           = 1;
            long idDestinatarioCadastradoPorBaseSql       = 1;
            long idTransportadorCadastradoPorBaseSql      = 1;
            long idProdutoNotaFiscalCadastradorPorBaseSql = 1;

            _notaFiscalValida = ObjectMother.PegarNotaFiscalValidaComIdDasDependencias(idEmitenteCadastradoPorBaseSql, idDestinatarioCadastradoPorBaseSql, idTransportadorCadastradoPorBaseSql);
            _notaFiscalValida.Destinatario  = _destinatarioRepositorio.BuscarPorId(idDestinatarioCadastradoPorBaseSql);
            _notaFiscalValida.Emitente      = _emitenteRepositorio.BuscarPorId(idEmitenteCadastradoPorBaseSql);
            _notaFiscalValida.Transportador = _transportadorRepositorio.BuscarPorId(idTransportadorCadastradoPorBaseSql);
            _notaFiscalValida.Produtos      = new List <ProdutoNotaFiscal>();
            _notaFiscalValida.Produtos.Add(_produtoNotaFiscalRepositorioSql.BuscarPorId(idProdutoNotaFiscalCadastradorPorBaseSql));

            _notaFiscalValida.ValidarGeracao();
            _notaFiscalValida.ValidarParaEmitir();
            _notaFiscalValida.CalcularValoresTotais();
            _notaFiscalValida.GerarChaveDeAcesso(new Random());
            _notaFiscalValida.DataEmissao = DateTime.Now;
        }
Example #2
0
        public void NotaFiscal_InfraPDF_Exportar_Com5Produtos_Sucesso()
        {
            Produto           produto           = ObjectMother.ObterProdutoValido();
            ProdutoNotaFiscal produtoNotaFiscal = ObjectMother.PegarProdutoNotaFiscalValido(produto, _notaFiscal);

            _notaFiscal.Produtos = new List <ProdutoNotaFiscal>();
            _notaFiscal.Produtos.Add(produtoNotaFiscal);
            _notaFiscal.Produtos.Add(produtoNotaFiscal);
            _notaFiscal.Produtos.Add(produtoNotaFiscal);
            _notaFiscal.Produtos.Add(produtoNotaFiscal);
            _notaFiscal.Produtos.Add(produtoNotaFiscal);

            _notaFiscal.CalcularValoresTotais();
            _notaFiscal.GerarChaveDeAcesso(new Random());
            _notaFiscal.DataEmissao = DateTime.Now;

            NotaFiscalRepositorioPDF gerador = new NotaFiscalRepositorioPDF();

            gerador.Exportar(_caminhoParaANovaNotaFiscal, _notaFiscal);

            Action acaoParaVerificarSeArquivoExiste = () => File.Exists(_caminhoParaANovaNotaFiscal);

            acaoParaVerificarSeArquivoExiste.Should().Equals(true);

            File.Delete(_caminhoParaANovaNotaFiscal);
        }
Example #3
0
        public void IniciarCenario()
        {
            _notaFiscalRepositorioXML = new NotaFiscalRepositorioXML();

            _endereco = Common.Tests.Funcionalidades.Enderecos.ObjectMother.PegarEnderecoValido();

            _emitente = Common.Tests.Funcionalidades.Emitentes.ObjectMother.PegarEmitenteValido(_endereco, new CNPJ {
                NumeroComPontuacao = "99.327.235/0001-50"
            });
            _destinatario = Common.Tests.Funcionalidades.Destinatarios.ObjectMother.PegarDestinatarioValidoComCNPJ(_endereco, new CNPJ {
                NumeroComPontuacao = "13.106.137/0001-77"
            });
            _transportador = Common.Tests.Funcionalidades.Transportadoras.ObjectMother.PegarTransportadorValidoComCNPJ(_endereco, new CNPJ {
                NumeroComPontuacao = "11.222.333/0001-81"
            });

            _notaFiscal             = ObjectMother.PegarNotaFiscalValida(_emitente, _destinatario, _transportador);
            _notaFiscal.DataEmissao = DateTime.Now;
            _produto           = Common.Tests.Funcionalidades.Produtos.ObjectMother.ObterProdutoValido();
            _produtoNotaFiscal = Common.Tests.Funcionalidades.ProdutoNotasFiscais.ObjectMother.PegarProdutoNotaFiscalValido(_produto, _notaFiscal);

            _notaFiscal.Produtos = new List <ProdutoNotaFiscal>();
            _notaFiscal.Produtos.Add(_produtoNotaFiscal);

            _notaFiscal.ValidarGeracao();
            _notaFiscal.ValidarParaEmitir();
            _notaFiscal.CalcularValoresTotais();
            _notaFiscal.GerarChaveDeAcesso(new Random());
            _notaFiscal.DataEmissao = DateTime.Now;
        }
Example #4
0
        public void IniciarCenario()
        {
            var connection = DbConnectionFactory.CreatePersistent(Guid.NewGuid().ToString());

            _fakeDbContext = new FakeDbContext(connection);

            _repositorio = new NotaFiscalEmitidaRepositorioSql();

            _notaFiscalRepositorioXML = new NotaFiscalRepositorioXML();

            _destinatarioRepositorio         = new DestinatarioRepositorioSql(_fakeDbContext);
            _emitenteRepositorio             = new EmitenteRepositorioSql(_fakeDbContext);
            _transportadorRepositorio        = new TransportadorRepositorioSql(_fakeDbContext);
            _produtoNotaFiscalRepositorioSql = new ProdutoNotaFiscalRepositorioSql(_fakeDbContext);


            long idEmitenteCadastradoPorBaseSql           = 1;
            long idDestinatarioCadastradoPorBaseSql       = 1;
            long idTransportadorCadastradoPorBaseSql      = 1;
            long idProdutoNotaFiscalCadastradorPorBaseSql = 1;

            _notaFiscalValida = ObjectMother.PegarNotaFiscalValidaComIdDasDependencias(idEmitenteCadastradoPorBaseSql, idDestinatarioCadastradoPorBaseSql, idTransportadorCadastradoPorBaseSql);
            _notaFiscalValida.Destinatario  = _destinatarioRepositorio.BuscarPorId(idDestinatarioCadastradoPorBaseSql);
            _notaFiscalValida.Emitente      = _emitenteRepositorio.BuscarPorId(idEmitenteCadastradoPorBaseSql);
            _notaFiscalValida.Transportador = _transportadorRepositorio.BuscarPorId(idTransportadorCadastradoPorBaseSql);
            _notaFiscalValida.Produtos      = new List <ProdutoNotaFiscal>();
            _notaFiscalValida.Produtos.Add(_produtoNotaFiscalRepositorioSql.BuscarPorId(idProdutoNotaFiscalCadastradorPorBaseSql));

            _notaFiscalValida.CalcularValoresTotais();
            _notaFiscalValida.GerarChaveDeAcesso(new Random());
            _notaFiscalValida.DataEmissao = DateTime.Now;
        }
Example #5
0
        public NotaFiscal Emitir(NotaFiscal notaFiscal, Random sorteador)
        {
            notaFiscal.CalcularValoresTotais();

            notaFiscal.ValidarParaEmitir();

            notaFiscal.GerarChaveDeAcesso(sorteador);

            while (ConsultarExistenciaDeNotaEmitida(notaFiscal.ChaveAcesso))
            {
                notaFiscal.GerarChaveDeAcesso(sorteador);
            }

            //Gerarando XML para inserção em banco
            string notaFiscalSerializadaParaXML = _notaFiscalRepositorioXML.Serializar(notaFiscal);

            long idNotaFiscalEmitida = _notaFiscalEmitidaRepositorio.Adicionar(notaFiscalSerializadaParaXML, notaFiscal.ChaveAcesso);

            if (idNotaFiscalEmitida != 0)
            {
                _notaFiscalRepositorio.Excluir(notaFiscal);
            }

            return(notaFiscal);
        }
Example #6
0
        public void IniciarCenario()
        {
            Endereco enderecoEmitente      = ObjectMother.PegarEnderecoValido();
            Endereco enderecoDestinatario  = ObjectMother.PegarEnderecoValido();
            Endereco enderecoTransportador = ObjectMother.PegarEnderecoValido();

            Emitente      emitente      = ObjectMother.PegarEmitenteValido(enderecoEmitente, new Documento("99.327.235/0001-50", TipoDocumento.CNPJ));
            Destinatario  destinatario  = ObjectMother.PegarDestinatarioValidoComCNPJ(enderecoDestinatario, new Documento("13.106.137/0001-77", TipoDocumento.CNPJ));
            Transportador transportador = ObjectMother.PegarTransportadorValidoComCNPJ(enderecoTransportador, new Documento("11.222.333/0001-81", TipoDocumento.CNPJ));

            _notaFiscal = ObjectMother.PegarNotaFiscalValida(emitente, destinatario, transportador);

            Produto           produto           = ObjectMother.ObterProdutoValido();
            ProdutoNotaFiscal produtoNotaFiscal = ObjectMother.PegarProdutoNotaFiscalValido(produto, _notaFiscal);

            _notaFiscal.Produtos = new List <ProdutoNotaFiscal>();
            _notaFiscal.Produtos.Add(produtoNotaFiscal);

            _notaFiscal.CalcularValoresTotais();
            _notaFiscal.GerarChaveDeAcesso(new Random());
            _notaFiscal.DataEmissao = DateTime.Now;
        }
Example #7
0
        public void IniciarCenario()
        {
            _notaFiscalRepositorioXML = new NotaFiscalRepositorioXML();

            _endereco = ObjectMother.PegarEnderecoValido();

            _emitente      = ObjectMother.PegarEmitenteValido(_endereco, new Documento("99.327.235/0001-50", TipoDocumento.CNPJ));
            _destinatario  = ObjectMother.PegarDestinatarioValidoComCNPJ(_endereco, new Documento("13.106.137/0001-77", TipoDocumento.CNPJ));
            _transportador = ObjectMother.PegarTransportadorValidoComCNPJ(_endereco, new Documento("11.222.333/0001-81", TipoDocumento.CNPJ));

            _notaFiscal             = ObjectMother.PegarNotaFiscalValida(_emitente, _destinatario, _transportador);
            _notaFiscal.DataEmissao = DateTime.Now;
            _produto           = ObjectMother.ObterProdutoValido();
            _produtoNotaFiscal = ObjectMother.PegarProdutoNotaFiscalValido(_produto, _notaFiscal);

            _notaFiscal.Produtos = new List <ProdutoNotaFiscal>();
            _notaFiscal.Produtos.Add(_produtoNotaFiscal);

            _notaFiscal.CalcularValoresTotais();
            _notaFiscal.GerarChaveDeAcesso(new Random());
            _notaFiscal.DataEmissao = DateTime.Now;
        }
Example #8
0
        public void NotaFiscal_Dominio_CalcularValoresTotais_Sucesso()
        {
            Mock <ProdutoNotaFiscal> produtoNotaFiscal2 = new Mock <ProdutoNotaFiscal>(_notaFiscal, _produtoMock.Object, 1);

            _produtoNotaFiscal.Setup(pnf => pnf.ValorTotal).Returns(100);
            produtoNotaFiscal2.Setup(pnf => pnf.ValorTotal).Returns(50);
            _produtoNotaFiscal.Setup(pnf => pnf.ValorICMS).Returns(70);
            produtoNotaFiscal2.Setup(pnf => pnf.ValorICMS).Returns(40);
            _produtoNotaFiscal.Setup(pnf => pnf.ValorIPI).Returns(30);
            produtoNotaFiscal2.Setup(pnf => pnf.ValorIPI).Returns(50);
            _produtosNotaFiscal.Add(_produtoNotaFiscal.Object);
            _produtosNotaFiscal.Add(produtoNotaFiscal2.Object);
            _notaFiscal = ObjectMother.PegarNotaFiscalValidaComListaDeProdutos(_emitenteMock.Object, _destinatarioMock.Object, _transportadorMock.Object, _produtosNotaFiscal);

            _notaFiscal.ValorTotalFrete = 50;
            _notaFiscal.CalcularValoresTotais();

            _notaFiscal.ValorTotalProdutos.Should().Be(150);
            _notaFiscal.ValorTotalICMS.Should().Be(110);
            _notaFiscal.ValorTotalIPI.Should().Be(80);
            _notaFiscal.ValorTotalImpostos.Should().Be(190);
            _notaFiscal.ValorTotalNota.Should().Be(390);
        }