def test_geracao_recibo(self): recibo = DynamicXml('EnviNFe') recibo.tpAmb = '1' recibo.infRec.nRec = '0001' consulta = gerar_consulta_recibo(recibo) self.assertEqual(str(consulta.nRec), '0001', 'Número do recibo inválido') self.assertEqual(str(consulta.tpAmb), '1', 'Tipo de ambiente inválido') self.assertIsInstance(consulta, DynamicXml, 'Consulta recibo deve ser do tipo DynamicXml')
def test_serializacao(self): t = DynamicXml("enviNFe") t(versao="3.10") t.idLote = "1" t.indSinc = "1" t.NFe.infNFe(versao="3.10", Id="NFe456465465465465654652123564878") t.NFe.infNFe.ide.cUF = "32" t.NFe.infNFe.ide.cNF = "0001" t.NFe.infNFe.ide.natOp = "Venda de mercadorias" xml = t.render() self.assertEqual(xml, XML_TESTE, "Geração de xml com problemas")
def test_list_serializacao(self): t = DynamicXml("cobr") t.dup[0](item="1") t.dup[0].nDup = '1' t.dup[0].dVenc = '21-06-2015' t.dup[0].vDup = '123.00' t.dup[1](item="2") t.dup[1].nDup = '2' t.dup[1].dVenc = '21-07-2015' t.dup[1].vDup = '123.00' xml = t.render() self.assertEqual(xml, XML_LIST, "Xml com lista de valores sendo gerado incorretamnte")
def test_list_serializacao(self): t = DynamicXml("cobr") t.dup[0](item="1") t.dup[0].nDup = '1' t.dup[0].dVenc = '21-06-2015' t.dup[0].vDup = '123.00' t.dup[1](item="2") t.dup[1].nDup = '2' t.dup[1].dVenc = '21-07-2015' t.dup[1].vDup = '123.00' xml = t.render() self.assertEqual( xml, XML_LIST, "Xml com lista de valores sendo gerado incorretamnte")
def setUp(self): unittest.TestCase.setUp(self) c = DynamicXml('ConsCad') c(xmlns="http://www.portalfiscal.inf.br/nfe", versao="2.00") c.infCons.xServ = 'CONS-CAD' c.infCons.UF = 'SC' c.infCons.CNPJ = '82951310000156' self.objeto_consulta = c
def test_envio_nfe(self): t = DynamicXml('enviNFe') t(versao="3.10") t.idLote = "1" t.indSinc = "1" t.NFe.infNFe(versao="3.10", Id="NFe123") t.NFe.infNFe.ide.cUF = '43' t.NFe.infNFe.ide.cNF = '12345678' t.NFe.infNFe.ide.natOp = u'Venda de produção' t.NFe.infNFe.ide.indPag = '1' t.NFe.infNFe.ide.mod = '55' t.NFe.infNFe.ide.serie = '49' t.NFe.infNFe.ide.nNF = '9' t.NFe.infNFe.ide.dhEmi = '2015-06-30T15:18:05-03:00' t.NFe.infNFe.ide.dhSaiEnt = '2015-06-30T15:18:05-03:00' t.NFe.infNFe.ide.tpNF = '1' t.NFe.infNFe.ide.idDest = '2' t.NFe.infNFe.ide.cMunFG = '4321667' t.NFe.infNFe.ide.tpImp = '1' t.NFe.infNFe.ide.tpEmis = '1' t.NFe.infNFe.ide.cDV = '3' t.NFe.infNFe.ide.tpAmb = '2' t.NFe.infNFe.ide.finNFe = '1' t.NFe.infNFe.ide.indFinal = '0' t.NFe.infNFe.ide.indPres = '0' t.NFe.infNFe.ide.procEmi = '0' t.NFe.infNFe.ide.verProc = 'Odoo Brasil 8.0' # Emitente t.NFe.infNFe.emit.CNPJ = '02261542000143' t.NFe.infNFe.emit.xNome = 'Trust-Code' t.NFe.infNFe.emit.xFant = 'Trust-Code' t.NFe.infNFe.emit.enderEmit.xLgr = 'Rua severiano rodrigues' t.NFe.infNFe.emit.enderEmit.nro = '1092' t.NFe.infNFe.emit.enderEmit.xBairro = 'Santa Rita' t.NFe.infNFe.emit.enderEmit.cMun = '4321667' t.NFe.infNFe.emit.enderEmit.xMun = 'Tres Cachoeiras' t.NFe.infNFe.emit.enderEmit.UF = 'RS' t.NFe.infNFe.emit.enderEmit.CEP = '95099190' t.NFe.infNFe.emit.enderEmit.cPais = '1058' t.NFe.infNFe.emit.enderEmit.xPais = 'Brasil' t.NFe.infNFe.emit.enderEmit.Fone = '15551238069' t.NFe.infNFe.emit.IE = '3220014803' t.NFe.infNFe.emit.CRT = '3' # Destinatario t.NFe.infNFe.dest.CNPJ = '77311846000177' t.NFe.infNFe.dest.xNome = 'Akretion' t.NFe.infNFe.dest.enderEmit.xLgr = 'Rua severiano rodrigues' t.NFe.infNFe.dest.enderEmit.nro = '47' t.NFe.infNFe.dest.enderEmit.xBairro = 'Santa Rita' t.NFe.infNFe.dest.enderEmit.cMun = '3304557' t.NFe.infNFe.dest.enderEmit.xMun = 'Rio de Janeiro' t.NFe.infNFe.dest.enderEmit.UF = 'RJ' t.NFe.infNFe.dest.enderEmit.CEP = '20081000' t.NFe.infNFe.dest.enderEmit.cPais = '1058' t.NFe.infNFe.dest.enderEmit.xPais = 'Brasil' t.NFe.infNFe.dest.enderEmit.Fone = '2125162954' t.NFe.infNFe.dest.indIEDest = '9' t.NFe.infNFe.dest.email = '*****@*****.**' t.NFe.infNFe.det[0](nItem="1") t.NFe.infNFe.det[0].prod.cProd = 'A6679' t.NFe.infNFe.det[0].prod.cEAN = '1234567890' t.NFe.infNFe.det[0].prod.xProd = 'iPod' t.NFe.infNFe.det[0].prod.NCM = '84716053' t.NFe.infNFe.det[0].prod.CFOP = '6101' t.NFe.infNFe.det[0].prod.uCom = 'UN' t.NFe.infNFe.det[0].prod.qCom = '1.0' t.NFe.infNFe.det[0].prod.vUnCom = '22.90' t.NFe.infNFe.det[0].prod.vProd = '22.90' t.NFe.infNFe.det[0].prod.cEANTrib = '' t.NFe.infNFe.det[0].prod.uTrib = 'UN' t.NFe.infNFe.det[0].prod.qTrib = '1.00' t.NFe.infNFe.det[0].prod.vUnTrib = '22.90' t.NFe.infNFe.det[0].prod.indTot = '1' t.NFe.infNFe.det[0].imposto.ICMS.ICMS00.orig = '0' t.NFe.infNFe.det[0].imposto.ICMS.ICMS00.CST = '00' t.NFe.infNFe.det[0].imposto.ICMS.ICMS00.modBC = '0' t.NFe.infNFe.det[0].imposto.ICMS.ICMS00.vBC = '22.90' t.NFe.infNFe.det[0].imposto.ICMS.ICMS00.pICMS = '18.00' t.NFe.infNFe.det[0].imposto.ICMS.ICMS00.vICMS = '4.12' print t.render(pretty_print=True)
def test_geracao_danfe(self): nfe = DynamicXml('ProtNFe') pdf = Danfe(nfe) pdf.gerar()
def gerar_consulta_recibo(recibo): c = DynamicXml('consReciNFe') c(xmlns="http://www.portalfiscal.inf.br/nfe", versao="2.00") c.tpAmb = recibo.tpAmb c.nRec = recibo.infRec.nRec return c