示例#1
0
        public void NotaContingenciaEnviadaXmlValidoTest()
        {
            var notaFiscalService = new NotaFiscalService();

            notaFiscalService.AtivarModoOffline("Teste unitário envio contingência", DateTime.Now);
            NotaFiscal         notaFiscal;
            ConfiguracaoEntity config;

            EnviarNotaTesteUnitarioUtils.EnviarNotaFiscal(out notaFiscal, out config);

            Task task = new Task(() => notaFiscalService.AtivarModoOnline());

            task.RunSynchronously();
            task.Wait();

            //verificar se arquivo existe
            var    notaTest = new NotaFiscalService().GetNotaFiscalByChave(notaFiscal.Identificacao.Chave, Ambiente.Homologacao);
            string xml      = notaTest.LoadXml();

            Assert.IsFalse(string.IsNullOrWhiteSpace(xml));
            Assert.IsTrue(File.Exists(notaTest.XmlPath));

            Assert.IsTrue(notaTest.Status == (int)NFe.Repository.Status.ENVIADA);
            ValidadorXml.ValidarXml(xml, "procNFe_v4.00.xsd");
        }
示例#2
0
        public void NotaNormalEnviadaXmlValidoTest()
        {
            NotaFiscal         notaFiscal;
            ConfiguracaoEntity config;

            EnviarNotaTesteUnitarioUtils.EnviarNotaFiscal(out notaFiscal, out config);

            //verificar se arquivo existe
            var    notaTest = new NotaFiscalService().GetNotaFiscalByChave(notaFiscal.Identificacao.Chave, Ambiente.Homologacao);
            string xml      = notaTest.LoadXml();

            Assert.IsFalse(string.IsNullOrWhiteSpace(xml));
            Assert.IsTrue(File.Exists(notaTest.XmlPath));
            Assert.IsTrue(notaTest.Status == (int)NFe.Repository.Status.ENVIADA && ConsultaStatusServicoService.ExecutarConsultaStatus(config, Modelo.Modelo65));
            ValidadorXml.ValidarXml(xml, "procNFe_v4.00.xsd");
        }
示例#3
0
        public void NotaEnviadaXmlExisteTest()
        {
            NotaFiscal         notaFiscal;
            ConfiguracaoEntity config;

            EnviarNotaTesteUnitarioUtils.EnviarNotaFiscal(out notaFiscal, out config);

            //verificar se arquivo existe
            var notaTest = new NotaFiscalService().GetNotaFiscalByChave(notaFiscal.Identificacao.Chave, Ambiente.Homologacao);

            Assert.IsFalse(string.IsNullOrWhiteSpace(notaTest.LoadXml()));
            Assert.IsTrue(File.Exists(notaTest.XmlPath));

            if (ConsultaStatusServicoService.ExecutarConsultaStatus(config, Modelo.Modelo65))
            {
                Assert.IsTrue(notaTest.Status == (int)NFe.Repository.Status.ENVIADA);
            }
            else
            {
                Assert.IsTrue(notaTest.Status == (int)NFe.Repository.Status.CONTINGENCIA);
            }
        }
示例#4
0
        public void EnvioEmailDestinatario()
        {
            var idDestinatario = DestinatarioService.Salvar(new DestinatarioEntity()
            {
                NomeRazao = "Domício de Araújo", Documento = "73598348134", TipoDestinatario = (int)TipoDestinatario.PessoaFisica
            });

            NotaFiscal         notaFiscal;
            ConfiguracaoEntity config;
            var DestinatarioEntity = DestinatarioService.GetDestinatarioByID(idDestinatario);
            var destinatario       = new Destinatario(Ambiente.Homologacao, Modelo.Modelo65, null, null, null, TipoDestinatario.PessoaFisica,
                                                      nomeRazao: DestinatarioEntity.NomeRazao, documento: DestinatarioEntity.Documento);

            new NotaFiscalService().AtivarModoOnline();
            EnviarNotaTesteUnitarioUtils.EnviarNotaFiscal(out notaFiscal, out config, destinatario);

            var nota = new NotaFiscalService().GetNotaFiscalByChave(notaFiscal.Identificacao.Chave);

            MailManager.EnviarEmailDestinatario("*****@*****.**", nota.XmlPath);

            DestinatarioService.ExcluirDestinatario(idDestinatario);
        }
示例#5
0
        public async Task NotaCanceladaXmlExisteTest()
        {
            NotaFiscal         notaFiscal;
            ConfiguracaoEntity config;
            int notaFiscalId = EnviarNotaTesteUnitarioUtils.EnviarNotaFiscal(out notaFiscal, out config);

            var notaFiscalDb = new NotaFiscalService().GetNotaFiscalByIdAsync(notaFiscalId, false).Result;

            var emitente     = notaFiscal.Emitente;
            var codigoUFEnum = (CodigoUfIbge)Enum.Parse(typeof(CodigoUfIbge), emitente.Endereco.UF);

            await new NotaFiscalService().CancelarNotaFiscalAsync(emitente.Endereco.UF, codigoUFEnum, Ambiente.Homologacao, emitente.CNPJ, notaFiscal.Identificacao.Chave,
                                                                  notaFiscalDb.Protocolo, notaFiscal.Identificacao.Modelo, "Teste unitário cancelamento");

            var notaTest = new NotaFiscalService().GetNotaFiscalByChave(notaFiscal.Identificacao.Chave, Ambiente.Homologacao);
            var evento   = new EventoService().GetEventoPorNota(notaTest.Id, true);

            ValidadorXml.ValidarXml(evento.LoadXml(), "procEventoCancNFe_v1.00.xsd");
            ValidadorXml.ValidarXml(notaTest.LoadXml(), "procNFe_v4.00.xsd");

            Assert.IsTrue(notaTest.Status == (int)NFe.Repository.Status.CANCELADA);
            Assert.IsTrue(File.Exists(evento.XmlPath));
            Assert.IsTrue(File.Exists(notaTest.XmlPath));
        }
        public void EnviarNotaDestinatarioSemEndTest()
        {
            var idDestinatario = DestinatarioService.Salvar(new DestinatarioEntity()
            {
                NomeRazao = "Domício de Araújo", Documento = "73598348134", TipoDestinatario = (int)TipoDestinatario.PessoaFisica
            });

            Assert.AreNotEqual(0, idDestinatario);

            try
            {
                NotaFiscal         notaFiscal;
                ConfiguracaoEntity config;
                var DestinatarioEntity = DestinatarioService.GetDestinatarioByID(idDestinatario);
                var destinatario       = new Destinatario(Ambiente.Homologacao, Modelo.Modelo65, null, null, null, TipoDestinatario.PessoaFisica,
                                                          nomeRazao: DestinatarioEntity.NomeRazao, documento: DestinatarioEntity.Documento);

                new NotaFiscalService().AtivarModoOnline();
                EnviarNotaTesteUnitarioUtils.EnviarNotaFiscal(out notaFiscal, out config, destinatario);

                var notaTest = new NotaFiscalService().GetNotaFiscalByChave(notaFiscal.Identificacao.Chave, Ambiente.Homologacao);

                if (ConsultaStatusServicoService.ExecutarConsultaStatus(config, Modelo.Modelo65))
                {
                    Assert.IsTrue(notaTest.Status == (int)NFe.Repository.Status.ENVIADA);
                }
                else
                {
                    Assert.IsTrue(notaTest.Status == (int)NFe.Repository.Status.CONTINGENCIA);
                }
            }
            finally
            {
                DestinatarioService.ExcluirDestinatario(idDestinatario);
            }
        }