br_nfe 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (760) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -0
  3. data/.travis.yml +0 -0
  4. data/Gemfile +0 -0
  5. data/Gemfile.lock +4 -4
  6. data/LICENSE +0 -0
  7. data/README.markdown +0 -0
  8. data/Rakefile +0 -0
  9. data/br_nfe.gemspec +2 -2
  10. data/lib/br_nfe.rb +22 -20
  11. data/lib/br_nfe/active_model/associations.rb +0 -0
  12. data/lib/br_nfe/active_model/has_many.rb +0 -0
  13. data/lib/br_nfe/active_model/has_one.rb +0 -0
  14. data/lib/br_nfe/active_model_base.rb +0 -0
  15. data/lib/br_nfe/association/have_address.rb +0 -0
  16. data/lib/br_nfe/association/have_condicao_pagamento.rb +0 -0
  17. data/lib/br_nfe/association/have_destinatario.rb +0 -0
  18. data/lib/br_nfe/association/have_emitente.rb +0 -0
  19. data/lib/br_nfe/base.rb +10 -22
  20. data/lib/br_nfe/calculos/fatores_de_multiplicacao.rb +0 -0
  21. data/lib/br_nfe/calculos/modulo11.rb +0 -0
  22. data/lib/br_nfe/calculos/modulo11_fator_de2a9.rb +0 -0
  23. data/lib/br_nfe/calculos/modulo11_fator_de2a9_resto_zero.rb +0 -0
  24. data/lib/br_nfe/condicao_pagamento.rb +0 -0
  25. data/lib/br_nfe/constants.rb +0 -2
  26. data/lib/br_nfe/endereco.rb +4 -0
  27. data/lib/br_nfe/helper/cpf_cnpj.rb +0 -0
  28. data/lib/br_nfe/helper/string_methods.rb +0 -0
  29. data/lib/br_nfe/person.rb +1 -0
  30. data/lib/br_nfe/product/destinatario.rb +3 -0
  31. data/lib/br_nfe/product/emitente.rb +0 -0
  32. data/lib/br_nfe/product/evento/base.rb +0 -0
  33. data/lib/br_nfe/product/evento/cancelamento.rb +0 -0
  34. data/lib/br_nfe/product/nf_xml_value.rb +1 -1
  35. data/lib/br_nfe/product/nfe/adicao_importacao.rb +0 -0
  36. data/lib/br_nfe/product/nfe/cobranca/duplicata.rb +0 -0
  37. data/lib/br_nfe/product/nfe/cobranca/fatura.rb +0 -0
  38. data/lib/br_nfe/product/nfe/cobranca/pagamento.rb +13 -0
  39. data/lib/br_nfe/product/nfe/declaracao_importacao.rb +0 -0
  40. data/lib/br_nfe/product/nfe/detalhe_exportacao.rb +0 -0
  41. data/lib/br_nfe/product/nfe/item.rb +0 -0
  42. data/lib/br_nfe/product/nfe/item_tax/cofins.rb +0 -0
  43. data/lib/br_nfe/product/nfe/item_tax/cofins_st.rb +0 -0
  44. data/lib/br_nfe/product/nfe/item_tax/icms.rb +0 -0
  45. data/lib/br_nfe/product/nfe/item_tax/icms_uf_destino.rb +0 -0
  46. data/lib/br_nfe/product/nfe/item_tax/importacao.rb +0 -0
  47. data/lib/br_nfe/product/nfe/item_tax/ipi.rb +0 -0
  48. data/lib/br_nfe/product/nfe/item_tax/issqn.rb +0 -0
  49. data/lib/br_nfe/product/nfe/item_tax/pis.rb +0 -0
  50. data/lib/br_nfe/product/nfe/item_tax/pis_st.rb +0 -0
  51. data/lib/br_nfe/product/nfe/processo_referencia.rb +0 -0
  52. data/lib/br_nfe/product/nfe/transporte/base.rb +0 -0
  53. data/lib/br_nfe/product/nfe/transporte/transportador.rb +0 -0
  54. data/lib/br_nfe/product/nfe/transporte/veiculo.rb +0 -0
  55. data/lib/br_nfe/product/nfe/transporte/volume.rb +0 -0
  56. data/lib/br_nfe/product/nota_fiscal.rb +5 -0
  57. data/lib/br_nfe/product/operation/base.rb +118 -44
  58. data/lib/br_nfe/product/operation/nfe_autorizacao.rb +3 -29
  59. data/lib/br_nfe/product/operation/nfe_consulta_protocolo.rb +2 -27
  60. data/lib/br_nfe/product/operation/nfe_download_nf.rb +6 -28
  61. data/lib/br_nfe/product/operation/nfe_inutilizacao.rb +2 -27
  62. data/lib/br_nfe/product/operation/nfe_recepcao_evento.rb +6 -27
  63. data/lib/br_nfe/product/operation/nfe_ret_autorizacao.rb +2 -27
  64. data/lib/br_nfe/product/operation/nfe_status_servico.rb +2 -27
  65. data/lib/br_nfe/product/reader/destinatario.rb +39 -0
  66. data/lib/br_nfe/product/reader/emitente.rb +39 -0
  67. data/lib/br_nfe/product/reader/endereco_retirada_entrega.rb +27 -0
  68. data/lib/br_nfe/product/reader/fatura.rb +41 -0
  69. data/lib/br_nfe/product/reader/item.rb +236 -0
  70. data/lib/br_nfe/product/reader/nfe.rb +200 -0
  71. data/lib/br_nfe/product/reader/transporte.rb +79 -0
  72. data/lib/br_nfe/product/response/base.rb +1 -1
  73. data/lib/br_nfe/product/response/build/base.rb +19 -9
  74. data/lib/br_nfe/product/response/build/nfe_autorizacao.rb +27 -15
  75. data/lib/br_nfe/product/response/build/nfe_consulta_protocolo.rb +35 -38
  76. data/lib/br_nfe/product/response/build/nfe_inutilizacao.rb +18 -16
  77. data/lib/br_nfe/product/response/build/nfe_recepcao_evento.rb +96 -0
  78. data/lib/br_nfe/product/response/build/nfe_ret_autorizacao.rb +11 -8
  79. data/lib/br_nfe/product/response/build/nfe_status_servico.rb +13 -10
  80. data/lib/br_nfe/product/response/event.rb +24 -3
  81. data/lib/br_nfe/product/response/nfe_autorizacao.rb +3 -2
  82. data/lib/br_nfe/product/response/nfe_consulta_protocolo.rb +1 -0
  83. data/lib/br_nfe/product/response/nfe_inutilizacao.rb +0 -0
  84. data/lib/br_nfe/product/response/nfe_recepcao_evento.rb +20 -0
  85. data/lib/br_nfe/product/response/nfe_ret_autorizacao.rb +0 -0
  86. data/lib/br_nfe/product/response/nfe_status_servico.rb +0 -0
  87. data/lib/br_nfe/product/xml/_signed_info_sh1.xml.slim +0 -0
  88. data/lib/br_nfe/product/xml/_tc_cpf_cnpj.xml.slim +0 -0
  89. data/lib/br_nfe/product/xml/signature_sh1.xml.slim +0 -0
  90. data/lib/br_nfe/product/xml/soap_env.xml.slim +1 -1
  91. data/lib/br_nfe/product/xml/v1_00/evento/infEventoCancelamento.xml.slim +0 -0
  92. data/lib/br_nfe/product/xml/v1_00/root/NfeDownloadNf.xml.slim +0 -0
  93. data/lib/br_nfe/product/xml/v1_00/root/NfeRecepcaoEvento.xml.slim +0 -0
  94. data/lib/br_nfe/product/xml/v2_00/_tc_endereco.xml.slim +0 -0
  95. data/lib/br_nfe/product/xml/v2_00/_tc_infNFe.xml.slim +0 -0
  96. data/lib/br_nfe/product/xml/v2_00/infInut.xml.slim +0 -0
  97. data/lib/br_nfe/product/xml/v2_00/infNFe.xml.slim +0 -0
  98. data/lib/br_nfe/product/xml/v2_00/infNFe/NFe.xml.slim +0 -0
  99. data/lib/br_nfe/product/xml/v2_00/infNFe/_tc_cobr.xml.slim +0 -0
  100. data/lib/br_nfe/product/xml/v2_00/infNFe/_tc_dest.xml.slim +0 -0
  101. data/lib/br_nfe/product/xml/v2_00/infNFe/_tc_det.xml.slim +0 -0
  102. data/lib/br_nfe/product/xml/v2_00/infNFe/_tc_emit.xml.slim +0 -0
  103. data/lib/br_nfe/product/xml/v2_00/infNFe/_tc_entrega.xml.slim +0 -0
  104. data/lib/br_nfe/product/xml/v2_00/infNFe/_tc_exporta.xml.slim +0 -0
  105. data/lib/br_nfe/product/xml/v2_00/infNFe/_tc_ide.xml.slim +0 -0
  106. data/lib/br_nfe/product/xml/v2_00/infNFe/_tc_infAdic.xml.slim +0 -0
  107. data/lib/br_nfe/product/xml/v2_00/infNFe/_tc_retirada.xml.slim +0 -0
  108. data/lib/br_nfe/product/xml/v2_00/infNFe/_tc_total.xml.slim +0 -0
  109. data/lib/br_nfe/product/xml/v2_00/infNFe/_tc_transp.xml.slim +0 -0
  110. data/lib/br_nfe/product/xml/v2_00/infNFe/det/_tc_imposto.xml.slim +0 -0
  111. data/lib/br_nfe/product/xml/v2_00/infNFe/det/_tc_prod.xml.slim +0 -0
  112. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS00.xml.slim +0 -0
  113. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS10.xml.slim +0 -0
  114. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS101.xml.slim +0 -0
  115. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS102.xml.slim +0 -0
  116. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS20.xml.slim +0 -0
  117. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS201.xml.slim +0 -0
  118. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS202.xml.slim +0 -0
  119. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS30.xml.slim +0 -0
  120. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS40.xml.slim +0 -0
  121. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS500.xml.slim +0 -0
  122. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS51.xml.slim +0 -0
  123. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS60.xml.slim +0 -0
  124. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS70.xml.slim +0 -0
  125. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS90.xml.slim +0 -0
  126. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/ICMS/_tc_ICMS900.xml.slim +0 -0
  127. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/_tc_COFINS.xml.slim +0 -0
  128. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/_tc_COFINS_ST.xml.slim +0 -0
  129. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/_tc_ICMS.xml.slim +0 -0
  130. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/_tc_II.xml.slim +0 -0
  131. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/_tc_IPI.xml.slim +0 -0
  132. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/_tc_PIS.xml.slim +0 -0
  133. data/lib/br_nfe/product/xml/v2_00/infNFe/det/imposto/_tc_PIS_ST.xml.slim +0 -0
  134. data/lib/br_nfe/product/xml/v2_00/infNFe/det/prod/_tc_di.xml.slim +0 -0
  135. data/lib/br_nfe/product/xml/v2_00/infNFe/transp/_tc_retTransp.xml.slim +0 -0
  136. data/lib/br_nfe/product/xml/v2_00/infNFe/transp/_tc_transporta.xml.slim +0 -0
  137. data/lib/br_nfe/product/xml/v2_00/infNFe/transp/_tc_vol.xml.slim +0 -0
  138. data/lib/br_nfe/product/xml/v2_00/root/NfeAutorizacao.xml.slim +0 -0
  139. data/lib/br_nfe/product/xml/v2_00/root/NfeInutilizacao.xml.slim +0 -0
  140. data/lib/br_nfe/product/xml/v2_00/root/NfeRetAutorizacao.xml.slim +0 -0
  141. data/lib/br_nfe/product/xml/v2_00/root/NfeStatusServico.xml.slim +0 -0
  142. data/lib/br_nfe/product/xml/v2_01/root/NfeConsultaProtocolo.xml.slim +0 -0
  143. data/lib/br_nfe/product/xml/v3_10/_tc_infNFe.xml.slim +0 -0
  144. data/lib/br_nfe/product/xml/v3_10/infNFe/_tc_dest.xml.slim +1 -1
  145. data/lib/br_nfe/product/xml/v3_10/infNFe/_tc_det.xml.slim +0 -0
  146. data/lib/br_nfe/product/xml/v3_10/infNFe/_tc_exporta.xml.slim +0 -0
  147. data/lib/br_nfe/product/xml/v3_10/infNFe/_tc_ide.xml.slim +0 -0
  148. data/lib/br_nfe/product/xml/v3_10/infNFe/_tc_pag.xml.slim +0 -0
  149. data/lib/br_nfe/product/xml/v3_10/infNFe/_tc_total.xml.slim +0 -0
  150. data/lib/br_nfe/product/xml/v3_10/infNFe/det/_tc_imposto.xml.slim +0 -0
  151. data/lib/br_nfe/product/xml/v3_10/infNFe/det/_tc_prod.xml.slim +0 -0
  152. data/lib/br_nfe/product/xml/v3_10/infNFe/det/imposto/ICMS/_tc_ICMS20.xml.slim +0 -0
  153. data/lib/br_nfe/product/xml/v3_10/infNFe/det/imposto/ICMS/_tc_ICMS30.xml.slim +0 -0
  154. data/lib/br_nfe/product/xml/v3_10/infNFe/det/imposto/ICMS/_tc_ICMS40.xml.slim +0 -0
  155. data/lib/br_nfe/product/xml/v3_10/infNFe/det/imposto/ICMS/_tc_ICMS51.xml.slim +0 -0
  156. data/lib/br_nfe/product/xml/v3_10/infNFe/det/imposto/ICMS/_tc_ICMS70.xml.slim +0 -0
  157. data/lib/br_nfe/product/xml/v3_10/infNFe/det/imposto/ICMS/_tc_ICMS90.xml.slim +0 -0
  158. data/lib/br_nfe/product/xml/v3_10/infNFe/det/imposto/_tc_ICMSUFDest.xml.slim +0 -0
  159. data/lib/br_nfe/product/xml/v3_10/infNFe/det/imposto/_tc_ISSQN.xml.slim +0 -0
  160. data/lib/br_nfe/product/xml/v3_10/infNFe/det/prod/_tc_det_export.xml.slim +0 -0
  161. data/lib/br_nfe/product/xml/v3_10/infNFe/det/prod/_tc_di.xml.slim +0 -0
  162. data/lib/br_nfe/product/xml/v3_10/root/NfeAutorizacao.xml.slim +0 -0
  163. data/lib/br_nfe/service/association/have_intermediario.rb +0 -0
  164. data/lib/br_nfe/service/association/have_rps.rb +0 -0
  165. data/lib/br_nfe/service/base.rb +0 -0
  166. data/lib/br_nfe/service/betha/base.rb +0 -0
  167. data/lib/br_nfe/service/betha/v1/cancela_nfse.rb +1 -1
  168. data/lib/br_nfe/service/betha/v1/consulta_lote_rps.rb +1 -1
  169. data/lib/br_nfe/service/betha/v1/consulta_nfs_por_rps.rb +1 -1
  170. data/lib/br_nfe/service/betha/v1/consulta_nfse.rb +1 -1
  171. data/lib/br_nfe/service/betha/v1/consulta_situacao_lote_rps.rb +1 -1
  172. data/lib/br_nfe/service/betha/v1/gateway.rb +0 -0
  173. data/lib/br_nfe/service/betha/v1/recepcao_lote_rps.rb +1 -1
  174. data/lib/br_nfe/service/betha/v1/xml/_tc_identificacao_prestador.xml.slim +0 -0
  175. data/lib/br_nfe/service/betha/v1/xml/_tc_pedido_cancelamento.xml.slim +0 -0
  176. data/lib/br_nfe/service/concerns/rules/cancelamento_nfs.rb +0 -0
  177. data/lib/br_nfe/service/concerns/rules/consulta_nfs_por_rps.rb +0 -0
  178. data/lib/br_nfe/service/concerns/rules/consulta_nfse.rb +0 -0
  179. data/lib/br_nfe/service/concerns/rules/recepcao_lote_rps.rb +0 -0
  180. data/lib/br_nfe/service/concerns/values_ts/service_v1.rb +0 -0
  181. data/lib/br_nfe/service/destinatario.rb +0 -0
  182. data/lib/br_nfe/service/emitente.rb +0 -0
  183. data/lib/br_nfe/service/intermediario.rb +0 -0
  184. data/lib/br_nfe/service/item.rb +0 -0
  185. data/lib/br_nfe/service/response/build/base.rb +0 -0
  186. data/lib/br_nfe/service/response/build/cancelamento.rb +0 -0
  187. data/lib/br_nfe/service/response/build/consulta_lote_rps.rb +0 -0
  188. data/lib/br_nfe/service/response/build/consulta_nfs_por_rps.rb +0 -0
  189. data/lib/br_nfe/service/response/build/consulta_nfse.rb +0 -0
  190. data/lib/br_nfe/service/response/build/consulta_situacao_lote_rps.rb +0 -0
  191. data/lib/br_nfe/service/response/build/invoice_build.rb +0 -0
  192. data/lib/br_nfe/service/response/build/recepcao_lote_rps.rb +0 -0
  193. data/lib/br_nfe/service/response/cancelamento.rb +0 -0
  194. data/lib/br_nfe/service/response/consulta_lote_rps.rb +0 -0
  195. data/lib/br_nfe/service/response/consulta_nfs_por_rps.rb +0 -0
  196. data/lib/br_nfe/service/response/consulta_nfse.rb +0 -0
  197. data/lib/br_nfe/service/response/consulta_situacao_lote_rps.rb +0 -0
  198. data/lib/br_nfe/service/response/default.rb +0 -0
  199. data/lib/br_nfe/service/response/nota_fiscal.rb +0 -0
  200. data/lib/br_nfe/service/response/paths/v1/tc_nfse.rb +0 -0
  201. data/lib/br_nfe/service/response/recepcao_lote_rps.rb +0 -0
  202. data/lib/br_nfe/service/rps.rb +0 -0
  203. data/lib/br_nfe/service/sc/florianopolis/base.rb +0 -0
  204. data/lib/br_nfe/service/sc/florianopolis/cancellation.rb +0 -0
  205. data/lib/br_nfe/service/sc/florianopolis/emission_rps.rb +0 -0
  206. data/lib/br_nfe/service/sc/florianopolis/xml/_address.xml.slim +0 -0
  207. data/lib/br_nfe/service/sc/florianopolis/xml/_contact.xml.slim +0 -0
  208. data/lib/br_nfe/service/sc/florianopolis/xml/_service_item.xml.slim +0 -0
  209. data/lib/br_nfe/service/sc/florianopolis/xml/cancellation.xml.slim +0 -0
  210. data/lib/br_nfe/service/sc/florianopolis/xml/inf_requisicao.xml.slim +0 -0
  211. data/lib/br_nfe/service/simpliss/v1/base.rb +1 -1
  212. data/lib/br_nfe/service/simpliss/v1/cancela_nfse.rb +0 -0
  213. data/lib/br_nfe/service/simpliss/v1/consulta_lote_rps.rb +0 -0
  214. data/lib/br_nfe/service/simpliss/v1/consulta_nfs_por_rps.rb +0 -0
  215. data/lib/br_nfe/service/simpliss/v1/consulta_nfse.rb +0 -0
  216. data/lib/br_nfe/service/simpliss/v1/consulta_situacao_lote_rps.rb +0 -0
  217. data/lib/br_nfe/service/simpliss/v1/recepcao_lote_rps.rb +0 -0
  218. data/lib/br_nfe/service/simpliss/v1/xml/_login.xml.slim +0 -0
  219. data/lib/br_nfe/service/simpliss/v1/xml/_tc_dados_servico.xml.slim +0 -0
  220. data/lib/br_nfe/service/simpliss/v1/xml/_tc_item_servico.xml.slim +0 -0
  221. data/lib/br_nfe/service/simpliss/v1/xml/servico_cancelar_nfse_envio.xml.slim +0 -0
  222. data/lib/br_nfe/service/simpliss/v1/xml/servico_consultar_lote_rps_envio.xml.slim +0 -0
  223. data/lib/br_nfe/service/simpliss/v1/xml/servico_consultar_nfse_envio.xml.slim +0 -0
  224. data/lib/br_nfe/service/simpliss/v1/xml/servico_consultar_nfse_rps_envio.xml.slim +0 -0
  225. data/lib/br_nfe/service/simpliss/v1/xml/servico_consultar_situacao_lote_rps_envio.xml.slim +0 -0
  226. data/lib/br_nfe/service/simpliss/v1/xml/servico_enviar_lote_rps_envio.xml.slim +0 -0
  227. data/lib/br_nfe/service/thema/v1/base.rb +0 -0
  228. data/lib/br_nfe/service/thema/v1/cancela_nfse.rb +1 -1
  229. data/lib/br_nfe/service/thema/v1/consulta_lote_rps.rb +1 -1
  230. data/lib/br_nfe/service/thema/v1/consulta_nfs_por_rps.rb +1 -1
  231. data/lib/br_nfe/service/thema/v1/consulta_nfse.rb +1 -1
  232. data/lib/br_nfe/service/thema/v1/consulta_situacao_lote_rps.rb +0 -0
  233. data/lib/br_nfe/service/thema/v1/recepcao_lote_rps.rb +1 -1
  234. data/lib/br_nfe/service/thema/v1/recepcao_lote_rps_limitado.rb +0 -0
  235. data/lib/br_nfe/service/xml/v1/_tc_contato.xml.slim +0 -0
  236. data/lib/br_nfe/service/xml/v1/_tc_cpf_cnpj.xml.slim +0 -0
  237. data/lib/br_nfe/service/xml/v1/_tc_dados_construcao_civil.xml.slim +0 -0
  238. data/lib/br_nfe/service/xml/v1/_tc_dados_prestador.xml.slim +0 -0
  239. data/lib/br_nfe/service/xml/v1/_tc_dados_servico.xml.slim +0 -0
  240. data/lib/br_nfe/service/xml/v1/_tc_dados_tomador.xml.slim +0 -0
  241. data/lib/br_nfe/service/xml/v1/_tc_endereco.xml.slim +0 -0
  242. data/lib/br_nfe/service/xml/v1/_tc_identificacao_intermediario_servico.xml.slim +0 -0
  243. data/lib/br_nfe/service/xml/v1/_tc_identificacao_nfse.xml.slim +0 -0
  244. data/lib/br_nfe/service/xml/v1/_tc_identificacao_orgao_gerador.xml.slim +0 -0
  245. data/lib/br_nfe/service/xml/v1/_tc_identificacao_prestador.xml.slim +0 -0
  246. data/lib/br_nfe/service/xml/v1/_tc_identificacao_rps.xml.slim +0 -0
  247. data/lib/br_nfe/service/xml/v1/_tc_identificacao_tomador.xml.slim +0 -0
  248. data/lib/br_nfe/service/xml/v1/_tc_inf_pedido_cancelamento.xml.slim +0 -0
  249. data/lib/br_nfe/service/xml/v1/_tc_inf_rps.xml.slim +0 -0
  250. data/lib/br_nfe/service/xml/v1/_tc_lote_rps.xml.slim +0 -0
  251. data/lib/br_nfe/service/xml/v1/_tc_pedido_cancelamento.xml.slim +0 -0
  252. data/lib/br_nfe/service/xml/v1/_tc_rps.xml.slim +0 -0
  253. data/lib/br_nfe/service/xml/v1/_tc_valores.xml.slim +0 -0
  254. data/lib/br_nfe/service/xml/v1/servico_cancelar_nfse_envio.xml.slim +0 -0
  255. data/lib/br_nfe/service/xml/v1/servico_consultar_lote_rps_envio.xml.slim +0 -0
  256. data/lib/br_nfe/service/xml/v1/servico_consultar_nfse_envio.xml.slim +0 -0
  257. data/lib/br_nfe/service/xml/v1/servico_consultar_nfse_rps_envio.xml.slim +0 -0
  258. data/lib/br_nfe/service/xml/v1/servico_consultar_situacao_lote_rps_envio.xml.slim +0 -0
  259. data/lib/br_nfe/service/xml/v1/servico_enviar_lote_rps_envio.xml.slim +0 -0
  260. data/lib/br_nfe/version.rb +1 -1
  261. data/lib/br_nfe/xml/_signed_info_sh1.xml.slim +0 -0
  262. data/lib/br_nfe/xml/signature_sh1.xml.slim +0 -0
  263. data/lib/br_nfe/xml/soap_env.xml.slim +0 -0
  264. data/lib/config/locales/br_nfe/en/product/nfe/cobranca/fatura.yml +0 -0
  265. data/lib/config/locales/br_nfe/en/product/nfe/declaracao_importacao.yml +0 -0
  266. data/lib/config/locales/br_nfe/en/product/nfe/item.yml +0 -0
  267. data/lib/config/locales/br_nfe/en/product/nfe/item_tax/icms_uf_destino.yml +0 -0
  268. data/lib/config/locales/br_nfe/en/product/nfe/transporte/base.yml +0 -0
  269. data/lib/config/locales/br_nfe/en/product/nota_fiscal.yml +0 -0
  270. data/lib/config/locales/br_nfe/en/product/operation/nfe_autorizacao.yml +0 -0
  271. data/lib/config/locales/br_nfe/en/product/operation/nfe_recepcao_evento.yml +0 -0
  272. data/lib/config/locales/br_nfe/pt-BR/product/nfe/cobranca/fatura.yml +0 -0
  273. data/lib/config/locales/br_nfe/pt-BR/product/nfe/declaracao_importacao.yml +0 -0
  274. data/lib/config/locales/br_nfe/pt-BR/product/nfe/item.yml +0 -0
  275. data/lib/config/locales/br_nfe/pt-BR/product/nfe/item_tax/icms_uf_destino.yml +0 -0
  276. data/lib/config/locales/br_nfe/pt-BR/product/nfe/transporte/base.yml +0 -0
  277. data/lib/config/locales/br_nfe/pt-BR/product/nota_fiscal.yml +0 -0
  278. data/lib/config/locales/br_nfe/pt-BR/product/operation/nfe_autorizacao.yml +0 -0
  279. data/lib/config/locales/br_nfe/pt-BR/product/operation/nfe_recepcao_evento.yml +0 -0
  280. data/lib/config/settings/nfe/reader_xml_paths.yml +372 -0
  281. data/lib/config/settings/nfe/v3_10/operation.yml +843 -0
  282. data/lib/config/settings/nfe/v3_10/soap_client.yml +804 -0
  283. data/lib/config/settings/nfe/v3_10/xml_paths.yml +577 -0
  284. data/lib/config/settings/nfse.yml +3 -0
  285. data/test/br_nfe/association/have_address_test.rb +0 -0
  286. data/test/br_nfe/association/have_condicao_pagamento_test.rb +0 -0
  287. data/test/br_nfe/association/have_destinatario_test.rb +0 -0
  288. data/test/br_nfe/association/have_emitente_test.rb +0 -0
  289. data/test/br_nfe/base_test.rb +26 -65
  290. data/test/br_nfe/condicao_pagamento_test.rb +0 -0
  291. data/test/br_nfe/endereco_test.rb +0 -0
  292. data/test/br_nfe/helper/cpf_cnpj_test.rb +0 -0
  293. data/test/br_nfe/person_test.rb +0 -0
  294. data/test/br_nfe/product/destinatario_test.rb +0 -0
  295. data/test/br_nfe/product/emitente_test.rb +0 -0
  296. data/test/br_nfe/product/evento/base_test.rb +0 -0
  297. data/test/br_nfe/product/evento/cancelamento_test.rb +0 -0
  298. data/test/br_nfe/product/nfe/adicao_importacao_test.rb +0 -0
  299. data/test/br_nfe/product/nfe/cobranca/duplicata_test.rb +0 -0
  300. data/test/br_nfe/product/nfe/cobranca/fatura_test.rb +0 -0
  301. data/test/br_nfe/product/nfe/cobranca/pagamento_test.rb +0 -0
  302. data/test/br_nfe/product/nfe/declaracao_importacao_test.rb +0 -0
  303. data/test/br_nfe/product/nfe/detalhe_exportacao_test.rb +0 -0
  304. data/test/br_nfe/product/nfe/item_tax/cofins_st_test.rb +0 -0
  305. data/test/br_nfe/product/nfe/item_tax/cofins_test.rb +0 -0
  306. data/test/br_nfe/product/nfe/item_tax/icms_test.rb +0 -0
  307. data/test/br_nfe/product/nfe/item_tax/icms_uf_destino_test.rb +0 -0
  308. data/test/br_nfe/product/nfe/item_tax/importacao_test.rb +0 -0
  309. data/test/br_nfe/product/nfe/item_tax/ipi_test.rb +0 -0
  310. data/test/br_nfe/product/nfe/item_tax/issqn_test.rb +0 -0
  311. data/test/br_nfe/product/nfe/item_tax/pis_st_test.rb +0 -0
  312. data/test/br_nfe/product/nfe/item_tax/pis_test.rb +0 -0
  313. data/test/br_nfe/product/nfe/item_test.rb +0 -0
  314. data/test/br_nfe/product/nfe/processo_referencia_test.rb +0 -0
  315. data/test/br_nfe/product/nfe/transporte/base_test.rb +0 -0
  316. data/test/br_nfe/product/nfe/transporte/transportador_test.rb +0 -0
  317. data/test/br_nfe/product/nfe/transporte/veiculo_test.rb +0 -0
  318. data/test/br_nfe/product/nfe/transporte/volume_test.rb +0 -0
  319. data/test/br_nfe/product/nota_fiscal_test.rb +0 -0
  320. data/test/br_nfe/product/operation/base_test.rb +197 -175
  321. data/test/br_nfe/product/operation/nfe_autorizacao_test.rb +719 -282
  322. data/test/br_nfe/product/operation/nfe_consulta_protocolo_test.rb +745 -305
  323. data/test/br_nfe/product/operation/nfe_download_nf_test.rb +0 -51
  324. data/test/br_nfe/product/operation/nfe_inutilizacao_test.rb +505 -88
  325. data/test/br_nfe/product/operation/nfe_recepcao_evento_test.rb +83 -36
  326. data/test/br_nfe/product/operation/nfe_ret_autorizacao_test.rb +683 -244
  327. data/test/br_nfe/product/operation/nfe_status_servico_test.rb +515 -74
  328. data/test/br_nfe/product/reader/nfe_test.rb +2535 -0
  329. data/test/br_nfe/product/response/base_test.rb +0 -0
  330. data/test/br_nfe/product/response/build/base_test.rb +0 -0
  331. data/test/br_nfe/product/response/nfe_ret_autorizacao_test.rb +0 -0
  332. data/test/br_nfe/service/association/have_intermediario_test.rb +0 -0
  333. data/test/br_nfe/service/association/have_rps_test.rb +0 -0
  334. data/test/br_nfe/service/base_test.rb +1 -1
  335. data/test/br_nfe/service/betha/base_test.rb +0 -0
  336. data/test/br_nfe/service/betha/v1/cancela_nfse_test.rb +4 -4
  337. data/test/br_nfe/service/betha/v1/consulta_lote_rps_test.rb +4 -4
  338. data/test/br_nfe/service/betha/v1/consulta_nfs_por_rps_test.rb +4 -4
  339. data/test/br_nfe/service/betha/v1/consulta_nfse_test.rb +4 -4
  340. data/test/br_nfe/service/betha/v1/consulta_situacao_lote_rps_test.rb +4 -4
  341. data/test/br_nfe/service/betha/v1/gateway_test.rb +0 -0
  342. data/test/br_nfe/service/betha/v1/recepcao_lote_rps_test.rb +4 -4
  343. data/test/br_nfe/service/betha/v1/xsd/TiposNFe_v01.xsd +0 -0
  344. data/test/br_nfe/service/betha/v1/xsd/nfse_v01.xsd +0 -0
  345. data/test/br_nfe/service/betha/v1/xsd/servico_cancelar_nfse_envio_v01.xsd +0 -0
  346. data/test/br_nfe/service/betha/v1/xsd/servico_consultar_lote_rps_envio_v01.xsd +0 -0
  347. data/test/br_nfe/service/betha/v1/xsd/servico_consultar_nfse_envio_v01.xsd +0 -0
  348. data/test/br_nfe/service/betha/v1/xsd/servico_consultar_nfse_rps_envio_v01.xsd +0 -0
  349. data/test/br_nfe/service/betha/v1/xsd/servico_consultar_situacao_lote_rps_envio_v01.xsd +0 -0
  350. data/test/br_nfe/service/betha/v1/xsd/servico_enviar_lote_rps_envio_v01.xsd +0 -0
  351. data/test/br_nfe/service/betha/v1/xsd/xmldsig-core-schema.xsd +0 -0
  352. data/test/br_nfe/service/betha/v1/xsd/xmldsig-core-schema_v01.xsd +0 -0
  353. data/test/br_nfe/service/concerns/rules/cancelamento_nfs_test.rb +0 -0
  354. data/test/br_nfe/service/concerns/rules/consulta_nfs_por_rps_test.rb +0 -0
  355. data/test/br_nfe/service/concerns/rules/consulta_nfse_test.rb +0 -0
  356. data/test/br_nfe/service/concerns/rules/recepcao_lote_rps_test.rb +0 -0
  357. data/test/br_nfe/service/concerns/values_ts/service_v1_test.rb +0 -0
  358. data/test/br_nfe/service/destinatario_test.rb +0 -0
  359. data/test/br_nfe/service/emitente_test.rb +0 -0
  360. data/test/br_nfe/service/intermediario_test.rb +0 -0
  361. data/test/br_nfe/service/item_test.rb +0 -0
  362. data/test/br_nfe/service/response/build/base_test.rb +0 -0
  363. data/test/br_nfe/service/response/default_test.rb +0 -0
  364. data/test/br_nfe/service/response/nota_fiscal_test.rb +0 -0
  365. data/test/br_nfe/service/response/paths/v1/tc_nfse_test.rb +0 -0
  366. data/test/br_nfe/service/rps_test.rb +0 -0
  367. data/test/br_nfe/service/sc/florianopolis/XSD/TiposNFSe_v2.0.xsd +0 -0
  368. data/test/br_nfe/service/sc/florianopolis/XSD/xmldsig-core-schema.xsd +0 -0
  369. data/test/br_nfe/service/sc/florianopolis/base_test.rb +0 -0
  370. data/test/br_nfe/service/sc/florianopolis/cancellation_test.rb +0 -0
  371. data/test/br_nfe/service/sc/florianopolis/emission_rps_test.rb +0 -0
  372. data/test/br_nfe/service/simpliss/v1/base_test.rb +3 -3
  373. data/test/br_nfe/service/simpliss/v1/cancela_nfse_test.rb +1 -1
  374. data/test/br_nfe/service/simpliss/v1/consulta_lote_rps_test.rb +1 -1
  375. data/test/br_nfe/service/simpliss/v1/consulta_nfs_por_rps_test.rb +1 -1
  376. data/test/br_nfe/service/simpliss/v1/consulta_nfse_test.rb +1 -1
  377. data/test/br_nfe/service/simpliss/v1/consulta_situacao_lote_rps_test.rb +1 -1
  378. data/test/br_nfe/service/simpliss/v1/recepcao_lote_rps_test.rb +1 -1
  379. data/test/br_nfe/service/simpliss/v1/xsd/nfse_3.xsd +0 -0
  380. data/test/br_nfe/service/simpliss/v1/xsd/xmldsig-core-schema20020212.xsd +0 -0
  381. data/test/br_nfe/service/thema/v1/base_test.rb +0 -0
  382. data/test/br_nfe/service/thema/v1/cancela_nfse_test.rb +6 -6
  383. data/test/br_nfe/service/thema/v1/consulta_lote_rps_test.rb +6 -6
  384. data/test/br_nfe/service/thema/v1/consulta_nfs_por_rps_test.rb +6 -6
  385. data/test/br_nfe/service/thema/v1/consulta_nfse_test.rb +6 -6
  386. data/test/br_nfe/service/thema/v1/consulta_situacao_lote_rps_test.rb +6 -6
  387. data/test/br_nfe/service/thema/v1/recepcao_lote_rps_limitado_test.rb +6 -6
  388. data/test/br_nfe/service/thema/v1/recepcao_lote_rps_test.rb +6 -6
  389. data/test/br_nfe/service/thema/v1/xsd/nfse.xsd +0 -0
  390. data/test/br_nfe/service/thema/v1/xsd/xmldsig-core-schema20020212.xsd +0 -0
  391. data/test/br_nfe/service/xsd/v1/nfse.xsd +0 -0
  392. data/test/br_nfe/service/xsd/v1/xmldsig-core-schema20020212.xsd +0 -0
  393. data/test/cert.pfx +0 -0
  394. data/test/factories/base.rb +0 -0
  395. data/test/factories/condicao_pagamento.rb +0 -0
  396. data/test/factories/endereco.rb +0 -0
  397. data/test/factories/person.rb +0 -0
  398. data/test/factories/product/destinatario.rb +0 -0
  399. data/test/factories/product/emitente.rb +0 -0
  400. data/test/factories/product/evento/base.rb +0 -0
  401. data/test/factories/product/evento/cancelamento.rb +0 -0
  402. data/test/factories/product/nfe/adicao_importacao.rb +0 -0
  403. data/test/factories/product/nfe/cobranca/duplicata.rb +0 -0
  404. data/test/factories/product/nfe/cobranca/fatura.rb +0 -0
  405. data/test/factories/product/nfe/cobranca/pagamento.rb +0 -0
  406. data/test/factories/product/nfe/declaracao_importacao.rb +0 -0
  407. data/test/factories/product/nfe/detalhe_exportacao.rb +0 -0
  408. data/test/factories/product/nfe/item.rb +0 -0
  409. data/test/factories/product/nfe/item_tax/cofins.rb +0 -0
  410. data/test/factories/product/nfe/item_tax/cofins_st.rb +0 -0
  411. data/test/factories/product/nfe/item_tax/icms.rb +0 -0
  412. data/test/factories/product/nfe/item_tax/icms_uf_destino.rb +0 -0
  413. data/test/factories/product/nfe/item_tax/importacao.rb +0 -0
  414. data/test/factories/product/nfe/item_tax/ipi.rb +0 -0
  415. data/test/factories/product/nfe/item_tax/issqn.rb +0 -0
  416. data/test/factories/product/nfe/item_tax/pis.rb +0 -0
  417. data/test/factories/product/nfe/item_tax/pis_st.rb +0 -0
  418. data/test/factories/product/nfe/processo_referencia.rb +0 -0
  419. data/test/factories/product/nfe/transporte/base.rb +0 -0
  420. data/test/factories/product/nfe/transporte/transportador.rb +0 -0
  421. data/test/factories/product/nfe/transporte/veiculo.rb +0 -0
  422. data/test/factories/product/nfe/transporte/volume.rb +0 -0
  423. data/test/factories/product/nota_fiscal.rb +0 -0
  424. data/test/factories/product/operation/base.rb +0 -0
  425. data/test/factories/product/operation/nfe_autorizacao.rb +0 -0
  426. data/test/factories/product/operation/nfe_consulta_protocolo.rb +0 -0
  427. data/test/factories/product/operation/nfe_download_nf.rb +0 -0
  428. data/test/factories/product/operation/nfe_inutilizacao.rb +0 -0
  429. data/test/factories/product/operation/nfe_recepcao_evento.rb +0 -0
  430. data/test/factories/product/operation/nfe_ret_autorizacao.rb +0 -0
  431. data/test/factories/product/operation/nfe_status_servico.rb +0 -0
  432. data/test/factories/product/response/base.rb +0 -0
  433. data/test/factories/product/response/build/base.rb +0 -0
  434. data/test/factories/product/response/nfe_ret_autorizacao.rb +0 -0
  435. data/test/factories/service/base.rb +0 -0
  436. data/test/factories/service/betha/base.rb +0 -0
  437. data/test/factories/service/betha/v1/cancela_nfse.rb +0 -0
  438. data/test/factories/service/betha/v1/consulta_lote_rps.rb +0 -0
  439. data/test/factories/service/betha/v1/consulta_nfs_por_rps.rb +0 -0
  440. data/test/factories/service/betha/v1/consulta_nfse.rb +0 -0
  441. data/test/factories/service/betha/v1/consulta_situacao_lote_rps.rb +0 -0
  442. data/test/factories/service/betha/v1/gateway.rb +0 -0
  443. data/test/factories/service/betha/v1/recepcao_lote_rps.rb +0 -0
  444. data/test/factories/service/destinatario.rb +0 -0
  445. data/test/factories/service/emitente.rb +0 -0
  446. data/test/factories/service/intermediario.rb +0 -0
  447. data/test/factories/service/item.rb +0 -0
  448. data/test/factories/service/response/build_response.rb +0 -0
  449. data/test/factories/service/response/default.rb +0 -0
  450. data/test/factories/service/response/nota_fiscal.rb +0 -0
  451. data/test/factories/service/rps.rb +0 -0
  452. data/test/factories/service/sc/florianopolis/base.rb +0 -0
  453. data/test/factories/service/sc/florianopolis/cancellation.rb +0 -0
  454. data/test/factories/service/sc/florianopolis/emission_rps.rb +0 -0
  455. data/test/factories/service/simpliss/v1/base.rb +0 -0
  456. data/test/factories/service/simpliss/v1/cancela_nfse.rb +0 -0
  457. data/test/factories/service/simpliss/v1/consulta_lote_rps.rb +0 -0
  458. data/test/factories/service/simpliss/v1/consulta_nfs_por_rps.rb +0 -0
  459. data/test/factories/service/simpliss/v1/consulta_nfse.rb +0 -0
  460. data/test/factories/service/simpliss/v1/consulta_situacao_lote_rps.rb +0 -0
  461. data/test/factories/service/simpliss/v1/recepcao_lote_rps.rb +0 -0
  462. data/test/factories/service/thema/v1/base.rb +0 -0
  463. data/test/factories/service/thema/v1/cancela_nfse.rb +0 -0
  464. data/test/factories/service/thema/v1/consulta_lote_rps.rb +0 -0
  465. data/test/factories/service/thema/v1/consulta_nfs_por_rps.rb +0 -0
  466. data/test/factories/service/thema/v1/consulta_nfse.rb +0 -0
  467. data/test/factories/service/thema/v1/consulta_situacao_lote_rps.rb +0 -0
  468. data/test/factories/service/thema/v1/recepcao_lote_rps.rb +0 -0
  469. data/test/factories/service/thema/v1/recepcao_lote_rps_limitado.rb +0 -0
  470. data/test/fixtures/product/nfe/v3_10/cancelada.xml +246 -0
  471. data/test/fixtures/product/nfe/v3_10/completa.xml +1650 -0
  472. data/test/fixtures/product/nfe/v3_10/without_proc.xml +264 -0
  473. data/test/fixtures/product/operation/nfe_autorizacao/nfe_signed.xml +0 -0
  474. data/test/fixtures/product/response/v3.10/nfe_autorizacao/async_fail.xml +0 -0
  475. data/test/fixtures/product/response/v3.10/nfe_autorizacao/async_success.xml +0 -0
  476. data/test/fixtures/product/response/v3.10/nfe_autorizacao/nfe/with_proc.xml +0 -0
  477. data/test/fixtures/product/response/v3.10/nfe_autorizacao/nfe/without_proc.xml +0 -0
  478. data/test/fixtures/product/response/v3.10/nfe_autorizacao/original_xml.xml +0 -0
  479. data/test/fixtures/product/response/v3.10/nfe_autorizacao/sync_fail.xml +0 -0
  480. data/test/fixtures/product/response/v3.10/nfe_autorizacao/sync_success.xml +0 -0
  481. data/test/fixtures/product/response/v3.10/nfe_consulta_protocolo/event_xml/event_1.xml +0 -0
  482. data/test/fixtures/product/response/v3.10/nfe_consulta_protocolo/event_xml/event_2.xml +0 -0
  483. data/test/fixtures/product/response/v3.10/nfe_consulta_protocolo/event_xml/event_3.xml +0 -0
  484. data/test/fixtures/product/response/v3.10/nfe_consulta_protocolo/event_xml/event_cancel.xml +0 -0
  485. data/test/fixtures/product/response/v3.10/nfe_consulta_protocolo/event_xml/one_event.xml +0 -0
  486. data/test/fixtures/product/response/v3.10/nfe_consulta_protocolo/fail.xml +0 -0
  487. data/test/fixtures/product/response/v3.10/nfe_consulta_protocolo/nfe_original/with_proc.xml +0 -0
  488. data/test/fixtures/product/response/v3.10/nfe_consulta_protocolo/nfe_original/without_proc.xml +0 -0
  489. data/test/fixtures/product/response/v3.10/nfe_consulta_protocolo/success_many_with_cancel.xml +0 -0
  490. data/test/fixtures/product/response/v3.10/nfe_consulta_protocolo/success_many_without_cancel.xml +0 -0
  491. data/test/fixtures/product/response/v3.10/nfe_consulta_protocolo/success_one.xml +0 -0
  492. data/test/fixtures/product/response/v3.10/nfe_consulta_protocolo/success_without.xml +0 -0
  493. data/test/fixtures/product/response/v3.10/nfe_inutilizacao/fail.xml +0 -0
  494. data/test/fixtures/product/response/v3.10/nfe_inutilizacao/success.xml +0 -0
  495. data/test/fixtures/product/response/v3.10/nfe_recepcao_evento/cancelamento/fail.xml +2 -2
  496. data/test/fixtures/product/response/v3.10/nfe_recepcao_evento/cancelamento/success.xml +0 -0
  497. data/test/fixtures/product/response/v3.10/nfe_recepcao_evento/cancelamento/xml_result_fail_formatted.xml +1 -0
  498. data/test/fixtures/product/response/v3.10/nfe_recepcao_evento/cancelamento/xml_result_success_formatted.xml +1 -0
  499. data/test/fixtures/product/response/v3.10/nfe_ret_autorizacao/lot_fail.xml +0 -0
  500. data/test/fixtures/product/response/v3.10/nfe_ret_autorizacao/lot_ok_one_invoice_fail.xml +0 -0
  501. data/test/fixtures/product/response/v3.10/nfe_ret_autorizacao/lot_ok_one_invoice_fail_and_one_ok.xml +0 -0
  502. data/test/fixtures/product/response/v3.10/nfe_ret_autorizacao/lot_ok_one_invoice_ok.xml +0 -0
  503. data/test/fixtures/product/response/v3.10/nfe_ret_autorizacao/lot_ok_two_invoice_fail.xml +0 -0
  504. data/test/fixtures/product/response/v3.10/nfe_ret_autorizacao/lot_ok_two_invoice_ok.xml +0 -0
  505. data/test/fixtures/product/response/v3.10/nfe_ret_autorizacao/nfe/nf_2_with_protocol.xml +0 -0
  506. data/test/fixtures/product/response/v3.10/nfe_ret_autorizacao/nfe/nf_2_without_protocol.xml +0 -0
  507. data/test/fixtures/product/response/v3.10/nfe_ret_autorizacao/nfe/nf_3_with_protocol.xml +0 -0
  508. data/test/fixtures/product/response/v3.10/nfe_ret_autorizacao/nfe/nf_3_without_protocol.xml +0 -0
  509. data/test/fixtures/product/response/v3.10/nfe_ret_autorizacao/original_xml/lot.xml +0 -0
  510. data/test/fixtures/product/response/v3.10/nfe_ret_autorizacao/original_xml/nfe.xml +0 -0
  511. data/test/fixtures/product/response/v3.10/nfe_ret_autorizacao/original_xml/nfeProc.xml +0 -0
  512. data/test/fixtures/product/response/v3.10/nfe_status_servico/fail.xml +0 -0
  513. data/test/fixtures/product/response/v3.10/nfe_status_servico/success.xml +0 -0
  514. data/test/fixtures/product/schemas/CCe_v1.00.xsd +0 -0
  515. data/test/fixtures/product/schemas/EPEC_v1.00.xsd +0 -0
  516. data/test/fixtures/product/schemas/LeiauteCadastroEmissorDFe_v1.01.xsd +0 -0
  517. data/test/fixtures/product/schemas/SuframaInternaliza_v1.00.xsd +0 -0
  518. data/test/fixtures/product/schemas/SuframaVistoria_v1.00.xsd +0 -0
  519. data/test/fixtures/product/schemas/atuCadEmiDFe_v1.01.xsd +0 -0
  520. data/test/fixtures/product/schemas/cabecMsg_v1.02.xsd +0 -0
  521. data/test/fixtures/product/schemas/cadEmiDFe_v1.01.xsd +0 -0
  522. data/test/fixtures/product/schemas/cancNFe_v2.00.xsd +0 -0
  523. data/test/fixtures/product/schemas/confRecebto_v1.00.xsd +0 -0
  524. data/test/fixtures/product/schemas/consCad_v2.00.xsd +0 -0
  525. data/test/fixtures/product/schemas/consDPEC_v1.01.xsd +0 -0
  526. data/test/fixtures/product/schemas/consNFeDest_v1.01.xsd +0 -0
  527. data/test/fixtures/product/schemas/consReciNFe_v2.00.xsd +0 -0
  528. data/test/fixtures/product/schemas/consReciNFe_v3.10.xsd +0 -0
  529. data/test/fixtures/product/schemas/consSitNFe_v2.01.xsd +0 -0
  530. data/test/fixtures/product/schemas/consSitNFe_v3.10.xsd +0 -0
  531. data/test/fixtures/product/schemas/consStatServ_v2.00.xsd +0 -0
  532. data/test/fixtures/product/schemas/consStatServ_v3.10.xsd +0 -0
  533. data/test/fixtures/product/schemas/distDFeInt_v1.00.xsd +0 -0
  534. data/test/fixtures/product/schemas/downloadNFe_v1.00.xsd +0 -0
  535. data/test/fixtures/product/schemas/e110110_v1.00.xsd +0 -0
  536. data/test/fixtures/product/schemas/e110111_v1.00.xsd +0 -0
  537. data/test/fixtures/product/schemas/e110140_v1.00.xsd +0 -0
  538. data/test/fixtures/product/schemas/e111500_v1.00.xsd +0 -0
  539. data/test/fixtures/product/schemas/e111501_v1.00.xsd +0 -0
  540. data/test/fixtures/product/schemas/e111502_v1.00.xsd +0 -0
  541. data/test/fixtures/product/schemas/e111503_v1.00.xsd +0 -0
  542. data/test/fixtures/product/schemas/e210200_v1.00.xsd +0 -0
  543. data/test/fixtures/product/schemas/e210210_v1.00.xsd +0 -0
  544. data/test/fixtures/product/schemas/e210220_v1.00.xsd +0 -0
  545. data/test/fixtures/product/schemas/e210240_v1.00.xsd +0 -0
  546. data/test/fixtures/product/schemas/e411500_v1.00.xsd +0 -0
  547. data/test/fixtures/product/schemas/e411501_v1.00.xsd +0 -0
  548. data/test/fixtures/product/schemas/e411502_v1.00.xsd +0 -0
  549. data/test/fixtures/product/schemas/e411503_v1.00.xsd +0 -0
  550. data/test/fixtures/product/schemas/e990900_v1.00.xsd +0 -0
  551. data/test/fixtures/product/schemas/e990910_v1.00.xsd +0 -0
  552. data/test/fixtures/product/schemas/envCCe_v1.00.xsd +0 -0
  553. data/test/fixtures/product/schemas/envCancelPProrrogNFe_v1.0.xsd +0 -0
  554. data/test/fixtures/product/schemas/envConfRecebto_v1.00.xsd +0 -0
  555. data/test/fixtures/product/schemas/envDPEC_v1.01.xsd +0 -0
  556. data/test/fixtures/product/schemas/envEPEC_v1.00.xsd +0 -0
  557. data/test/fixtures/product/schemas/envEventoCancNFe_v1.00.xsd +0 -0
  558. data/test/fixtures/product/schemas/envEvento_v1.00.xsd +0 -0
  559. data/test/fixtures/product/schemas/envFiscoNfe_v1.0.xsd +0 -0
  560. data/test/fixtures/product/schemas/envPProrrogNFe_v1.0.xsd +0 -0
  561. data/test/fixtures/product/schemas/envRemIndus_v1.00.xsd +0 -0
  562. data/test/fixtures/product/schemas/envSuframaInternaliza_v1.00.xsd +0 -0
  563. data/test/fixtures/product/schemas/envSuframaVistoria_v1.00.xsd +0 -0
  564. data/test/fixtures/product/schemas/enviNFe_v2.00.xsd +0 -0
  565. data/test/fixtures/product/schemas/enviNFe_v3.10.xsd +0 -0
  566. data/test/fixtures/product/schemas/eventoCancNFe_v1.00.xsd +0 -0
  567. data/test/fixtures/product/schemas/eventoEPEC_v0.01.xsd +0 -0
  568. data/test/fixtures/product/schemas/eventoEPEC_v1.00.xsd +0 -0
  569. data/test/fixtures/product/schemas/eventoRemIndus_v1.00.xsd +0 -0
  570. data/test/fixtures/product/schemas/inutNFe_v2.00.xsd +0 -0
  571. data/test/fixtures/product/schemas/inutNFe_v3.10.xsd +0 -0
  572. data/test/fixtures/product/schemas/leiauteCCe_v1.00.xsd +0 -0
  573. data/test/fixtures/product/schemas/leiauteCancNFe_v2.00.xsd +0 -0
  574. data/test/fixtures/product/schemas/leiauteConfRecebto_v1.00.xsd +0 -0
  575. data/test/fixtures/product/schemas/leiauteConsNFeDest_v1.01.xsd +0 -0
  576. data/test/fixtures/product/schemas/leiauteConsSitNFe_v2.01.xsd +0 -0
  577. data/test/fixtures/product/schemas/leiauteConsSitNFe_v3.10.xsd +0 -0
  578. data/test/fixtures/product/schemas/leiauteConsStatServ_v2.00.xsd +0 -0
  579. data/test/fixtures/product/schemas/leiauteConsStatServ_v3.10.xsd +0 -0
  580. data/test/fixtures/product/schemas/leiauteConsultaCadastro_v1.01.xsd +0 -0
  581. data/test/fixtures/product/schemas/leiauteConsultaCadastro_v2.00.xsd +0 -0
  582. data/test/fixtures/product/schemas/leiauteDPEC_v1.01.xsd +0 -0
  583. data/test/fixtures/product/schemas/leiauteDownloadNFe_v1.00.xsd +0 -0
  584. data/test/fixtures/product/schemas/leiauteEPEC_v1.00.xsd +0 -0
  585. data/test/fixtures/product/schemas/leiauteEventoCancNFe_v1.00.xsd +0 -0
  586. data/test/fixtures/product/schemas/leiauteEvento_v1.00.xsd +0 -0
  587. data/test/fixtures/product/schemas/leiauteInutNFe_v2.00.xsd +0 -0
  588. data/test/fixtures/product/schemas/leiauteInutNFe_v3.10.xsd +0 -0
  589. data/test/fixtures/product/schemas/leiauteNFe_v2.00.xsd +0 -0
  590. data/test/fixtures/product/schemas/leiauteNFe_v3.10.xsd +0 -0
  591. data/test/fixtures/product/schemas/leiauteRemIndus_v1.00.xsd +0 -0
  592. data/test/fixtures/product/schemas/leiauteSRE_v1.00.xsd +0 -0
  593. data/test/fixtures/product/schemas/leiauteSuframaInternaliza_v1.00.xsd +0 -0
  594. data/test/fixtures/product/schemas/leiauteSuframaVistoria_v1.00.xsd +0 -0
  595. data/test/fixtures/product/schemas/nfe_v2.00.xsd +0 -0
  596. data/test/fixtures/product/schemas/nfe_v3.10.xsd +0 -0
  597. data/test/fixtures/product/schemas/procCCeNFe_v1.00.xsd +0 -0
  598. data/test/fixtures/product/schemas/procCancNFe_v2.00.xsd +0 -0
  599. data/test/fixtures/product/schemas/procConfRecebtoNFe_v1.00.xsd +0 -0
  600. data/test/fixtures/product/schemas/procEPEC_v1.00.xsd +0 -0
  601. data/test/fixtures/product/schemas/procEventoCancNFe_v1.00.xsd +0 -0
  602. data/test/fixtures/product/schemas/procEventoNFe_v1.00.xsd +0 -0
  603. data/test/fixtures/product/schemas/procEventoNFe_v99.99.xsd +0 -0
  604. data/test/fixtures/product/schemas/procInutNFe_v2.00.xsd +0 -0
  605. data/test/fixtures/product/schemas/procInutNFe_v3.10.xsd +0 -0
  606. data/test/fixtures/product/schemas/procNFe_v2.00.xsd +0 -0
  607. data/test/fixtures/product/schemas/procNFe_v3.10.xsd +0 -0
  608. data/test/fixtures/product/schemas/procRemIndus_v1.00.xsd +0 -0
  609. data/test/fixtures/product/schemas/resEvento_v1.00.xsd +0 -0
  610. data/test/fixtures/product/schemas/resNFe_v1.00.xsd +0 -0
  611. data/test/fixtures/product/schemas/retAtuCadEmiDFe_v1.01.xsd +0 -0
  612. data/test/fixtures/product/schemas/retCancNFe_v2.00.xsd +0 -0
  613. data/test/fixtures/product/schemas/retConsCad_v2.00.xsd +0 -0
  614. data/test/fixtures/product/schemas/retConsDPEC_v1.01.xsd +0 -0
  615. data/test/fixtures/product/schemas/retConsReciNFe_v2.00.xsd +0 -0
  616. data/test/fixtures/product/schemas/retConsReciNFe_v3.10.xsd +0 -0
  617. data/test/fixtures/product/schemas/retConsSitNFe_v2.01.xsd +0 -0
  618. data/test/fixtures/product/schemas/retConsSitNFe_v3.10.xsd +0 -0
  619. data/test/fixtures/product/schemas/retConsStatServ_v2.00.xsd +0 -0
  620. data/test/fixtures/product/schemas/retConsStatServ_v3.10.xsd +0 -0
  621. data/test/fixtures/product/schemas/retDPEC_v1.01.xsd +0 -0
  622. data/test/fixtures/product/schemas/retDistDFeInt_v1.00.xsd +0 -0
  623. data/test/fixtures/product/schemas/retDownloadNFe_v1.00.xsd +0 -0
  624. data/test/fixtures/product/schemas/retEnvCCe_v1.00.xsd +0 -0
  625. data/test/fixtures/product/schemas/retEnvCancelPProrrogNFe_v1.0.xsd +0 -0
  626. data/test/fixtures/product/schemas/retEnvConfRecebto_v1.00.xsd +0 -0
  627. data/test/fixtures/product/schemas/retEnvEPEC_v1.00.xsd +0 -0
  628. data/test/fixtures/product/schemas/retEnvEventoCancNFe_v1.00.xsd +0 -0
  629. data/test/fixtures/product/schemas/retEnvEvento_v1.00.xsd +0 -0
  630. data/test/fixtures/product/schemas/retEnvFiscoNFe_v1.0.xsd +0 -0
  631. data/test/fixtures/product/schemas/retEnvRemIndus_v1.00.xsd +0 -0
  632. data/test/fixtures/product/schemas/retEnvSuframaInternaliza_v1.00.xsd +0 -0
  633. data/test/fixtures/product/schemas/retEnvSuframaVistoria_v1.00.xsd +0 -0
  634. data/test/fixtures/product/schemas/retEnviNFe_v2.00.xsd +0 -0
  635. data/test/fixtures/product/schemas/retEnviNFe_v3.10.xsd +0 -0
  636. data/test/fixtures/product/schemas/retEventoEPEC_v0.01.xsd +0 -0
  637. data/test/fixtures/product/schemas/retInutNFe_v2.00.xsd +0 -0
  638. data/test/fixtures/product/schemas/retInutNFe_v3.10.xsd +0 -0
  639. data/test/fixtures/product/schemas/retPProrrogNFe_v1.0.xsd +0 -0
  640. data/test/fixtures/product/schemas/retconsNFeDest_v1.01.xsd +0 -0
  641. data/test/fixtures/product/schemas/tiposBasico_v1.03.xsd +0 -0
  642. data/test/fixtures/product/schemas/tiposBasico_v1.03_OPENSSL.xsd +0 -0
  643. data/test/fixtures/product/schemas/tiposBasico_v3.10.xsd +0 -0
  644. data/test/fixtures/product/schemas/tiposBasico_v3.10_OPENSSL.xsd +0 -0
  645. data/test/fixtures/product/schemas/tiposDistDFe_v1.00.xsd +0 -0
  646. data/test/fixtures/product/schemas/xmldsig-core-schema_v1.01.xsd +0 -0
  647. data/test/fixtures/product/wsdl/NFeRetAutorizacao.xml +0 -0
  648. data/test/fixtures/product/wsdl/NfeAutorizacao.xml +0 -0
  649. data/test/fixtures/product/wsdl/NfeConsulta2.xml +0 -0
  650. data/test/fixtures/product/wsdl/NfeStatusServico2.xml +0 -0
  651. data/test/fixtures/product/wsdl/RecepcaoEvento.xml +78 -0
  652. data/test/fixtures/product/wsdl/nfeinutilizacao2.xml +0 -0
  653. data/test/fixtures/service/response/betha/v1/cancela_nfse/fault.xml +0 -0
  654. data/test/fixtures/service/response/betha/v1/cancela_nfse/success.xml +0 -0
  655. data/test/fixtures/service/response/betha/v1/consulta_lote_rps/fault.xml +0 -0
  656. data/test/fixtures/service/response/betha/v1/consulta_lote_rps/success.xml +0 -0
  657. data/test/fixtures/service/response/betha/v1/consulta_nfse/fault.xml +0 -0
  658. data/test/fixtures/service/response/betha/v1/consulta_nfse/nfs_empty.xml +0 -0
  659. data/test/fixtures/service/response/betha/v1/consulta_nfse/success.xml +0 -0
  660. data/test/fixtures/service/response/betha/v1/consulta_nfse_por_rps/fault.xml +0 -0
  661. data/test/fixtures/service/response/betha/v1/consulta_nfse_por_rps/success.xml +0 -0
  662. data/test/fixtures/service/response/betha/v1/consulta_situacao_lote_rps/error.xml +0 -0
  663. data/test/fixtures/service/response/betha/v1/consulta_situacao_lote_rps/fault.xml +0 -0
  664. data/test/fixtures/service/response/betha/v1/consulta_situacao_lote_rps/success.xml +0 -0
  665. data/test/fixtures/service/response/betha/v1/consulta_situacao_lote_rps/unprocessed.xml +0 -0
  666. data/test/fixtures/service/response/betha/v1/consulta_situacao_lote_rps/unprocessed_by_code_error.xml +0 -0
  667. data/test/fixtures/service/response/betha/v1/consulta_situacao_lote_rps/unreceived.xml +0 -0
  668. data/test/fixtures/service/response/betha/v1/consulta_situacao_lote_rps/unreceived_by_code_error.xml +0 -0
  669. data/test/fixtures/service/response/betha/v1/recepcao_lote_rps/error.xml +0 -0
  670. data/test/fixtures/service/response/betha/v1/recepcao_lote_rps/success.xml +0 -0
  671. data/test/fixtures/service/response/simpliss/v1/cancela_nfse/fault.xml +0 -0
  672. data/test/fixtures/service/response/simpliss/v1/cancela_nfse/success.xml +0 -0
  673. data/test/fixtures/service/response/simpliss/v1/consulta_lote_rps/fault.xml +0 -0
  674. data/test/fixtures/service/response/simpliss/v1/consulta_lote_rps/nfse_complete.xml +0 -0
  675. data/test/fixtures/service/response/simpliss/v1/consulta_lote_rps/nfse_simple.xml +0 -0
  676. data/test/fixtures/service/response/simpliss/v1/consulta_nfse/fault.xml +0 -0
  677. data/test/fixtures/service/response/simpliss/v1/consulta_nfse/nfs_empty.xml +0 -0
  678. data/test/fixtures/service/response/simpliss/v1/consulta_nfse/nfse_complete.xml +0 -0
  679. data/test/fixtures/service/response/simpliss/v1/consulta_nfse/nfse_simple.xml +0 -0
  680. data/test/fixtures/service/response/simpliss/v1/consulta_nfse_por_rps/fault.xml +0 -0
  681. data/test/fixtures/service/response/simpliss/v1/consulta_nfse_por_rps/nfse_complete.xml +0 -0
  682. data/test/fixtures/service/response/simpliss/v1/consulta_nfse_por_rps/nfse_simple.xml +0 -0
  683. data/test/fixtures/service/response/simpliss/v1/consulta_situacao_lote_rps/error.xml +0 -0
  684. data/test/fixtures/service/response/simpliss/v1/consulta_situacao_lote_rps/fault.xml +0 -0
  685. data/test/fixtures/service/response/simpliss/v1/consulta_situacao_lote_rps/success.xml +0 -0
  686. data/test/fixtures/service/response/simpliss/v1/consulta_situacao_lote_rps/unprocessed.xml +0 -0
  687. data/test/fixtures/service/response/simpliss/v1/consulta_situacao_lote_rps/unreceived.xml +0 -0
  688. data/test/fixtures/service/response/simpliss/v1/recepcao_lote_rps/error.xml +0 -0
  689. data/test/fixtures/service/response/simpliss/v1/recepcao_lote_rps/success.xml +0 -0
  690. data/test/fixtures/service/response/thema/v1/cancela_nfse/fault.xml +0 -0
  691. data/test/fixtures/service/response/thema/v1/cancela_nfse/success.xml +0 -0
  692. data/test/fixtures/service/response/thema/v1/consulta_lote_rps/fault.xml +0 -0
  693. data/test/fixtures/service/response/thema/v1/consulta_lote_rps/nfse_complete.xml +0 -0
  694. data/test/fixtures/service/response/thema/v1/consulta_nfse/fault.xml +0 -0
  695. data/test/fixtures/service/response/thema/v1/consulta_nfse/nfs_empty.xml +0 -0
  696. data/test/fixtures/service/response/thema/v1/consulta_nfse/nfse_complete.xml +0 -0
  697. data/test/fixtures/service/response/thema/v1/consulta_nfse/nfse_simple.xml +0 -0
  698. data/test/fixtures/service/response/thema/v1/consulta_nfse_por_rps/fault.xml +0 -0
  699. data/test/fixtures/service/response/thema/v1/consulta_nfse_por_rps/nfse_complete.xml +0 -0
  700. data/test/fixtures/service/response/thema/v1/consulta_situacao_lote_rps/error.xml +0 -0
  701. data/test/fixtures/service/response/thema/v1/consulta_situacao_lote_rps/fault.xml +0 -0
  702. data/test/fixtures/service/response/thema/v1/consulta_situacao_lote_rps/success.xml +0 -0
  703. data/test/fixtures/service/response/thema/v1/consulta_situacao_lote_rps/unprocessed.xml +0 -0
  704. data/test/fixtures/service/response/thema/v1/consulta_situacao_lote_rps/unreceived.xml +0 -0
  705. data/test/fixtures/service/response/thema/v1/recepcao_lote_rps/error.xml +0 -0
  706. data/test/fixtures/service/response/thema/v1/recepcao_lote_rps/success.xml +0 -0
  707. data/test/fixtures/service/response/thema/v1/recepcao_lote_rps_limitado/error.xml +0 -0
  708. data/test/fixtures/service/response/thema/v1/recepcao_lote_rps_limitado/success.xml +0 -0
  709. data/test/fixtures/service/thema/v1/cancelar_nfse_envio.xml +0 -0
  710. data/test/fixtures/service/thema/v1/cancelar_nfse_envio_signed.xml +0 -0
  711. data/test/fixtures/service/thema/v1/enviar_lote_rps.xml +0 -0
  712. data/test/fixtures/service/thema/v1/enviar_lote_rps_signed.xml +0 -0
  713. data/test/fixtures/service/wsdl/betha/v1/cancelar_nfse.xml +0 -0
  714. data/test/fixtures/service/wsdl/betha/v1/consultar_lote_rps.xml +0 -0
  715. data/test/fixtures/service/wsdl/betha/v1/consultar_nfse.xml +0 -0
  716. data/test/fixtures/service/wsdl/betha/v1/consultar_nfse_por_rps.xml +0 -0
  717. data/test/fixtures/service/wsdl/betha/v1/consultar_situacao_lote_rps.xml +0 -0
  718. data/test/fixtures/service/wsdl/betha/v1/recepcionar_lote_rps.xml +0 -0
  719. data/test/fixtures/service/wsdl/simpliss/v1/nfseservice.xml +0 -0
  720. data/test/fixtures/service/wsdl/thema/v1/nfse_cancelamento.xml +0 -0
  721. data/test/fixtures/service/wsdl/thema/v1/nfse_consulta.xml +0 -0
  722. data/test/fixtures/service/wsdl/thema/v1/nfse_remessa.xml +0 -0
  723. data/test/test_helper.rb +0 -0
  724. metadata +35 -63
  725. data/lib/br_nfe/product/gateway/base.rb +0 -35
  726. data/lib/br_nfe/product/gateway/web_service_am.rb +0 -140
  727. data/lib/br_nfe/product/gateway/web_service_ba.rb +0 -140
  728. data/lib/br_nfe/product/gateway/web_service_ce.rb +0 -162
  729. data/lib/br_nfe/product/gateway/web_service_go.rb +0 -140
  730. data/lib/br_nfe/product/gateway/web_service_mg.rb +0 -140
  731. data/lib/br_nfe/product/gateway/web_service_ms.rb +0 -140
  732. data/lib/br_nfe/product/gateway/web_service_mt.rb +0 -140
  733. data/lib/br_nfe/product/gateway/web_service_pe.rb +0 -140
  734. data/lib/br_nfe/product/gateway/web_service_pr.rb +0 -140
  735. data/lib/br_nfe/product/gateway/web_service_rs.rb +0 -140
  736. data/lib/br_nfe/product/gateway/web_service_sp.rb +0 -140
  737. data/lib/br_nfe/product/gateway/web_service_svan.rb +0 -162
  738. data/lib/br_nfe/product/gateway/web_service_svc_an.rb +0 -131
  739. data/lib/br_nfe/product/gateway/web_service_svc_rs.rb +0 -20
  740. data/lib/br_nfe/product/gateway/web_service_svrs.rb +0 -140
  741. data/test/br_nfe/product/gateway/base_test.rb +0 -16
  742. data/test/br_nfe/product/gateway/web_service_am_test.rb +0 -242
  743. data/test/br_nfe/product/gateway/web_service_ba_test.rb +0 -242
  744. data/test/br_nfe/product/gateway/web_service_ce_test.rb +0 -242
  745. data/test/br_nfe/product/gateway/web_service_go_test.rb +0 -242
  746. data/test/br_nfe/product/gateway/web_service_mg_test.rb +0 -242
  747. data/test/br_nfe/product/gateway/web_service_ms_test.rb +0 -242
  748. data/test/br_nfe/product/gateway/web_service_mt_test.rb +0 -408
  749. data/test/br_nfe/product/gateway/web_service_pe_test.rb +0 -408
  750. data/test/br_nfe/product/gateway/web_service_pr_test.rb +0 -408
  751. data/test/br_nfe/product/gateway/web_service_rs_test.rb +0 -407
  752. data/test/br_nfe/product/gateway/web_service_sp_test.rb +0 -408
  753. data/test/br_nfe/product/gateway/web_service_svan_test.rb +0 -242
  754. data/test/br_nfe/product/gateway/web_service_svc_an_test.rb +0 -185
  755. data/test/br_nfe/product/gateway/web_service_svc_rs_test.rb +0 -185
  756. data/test/br_nfe/product/gateway/web_service_svrs_test.rb +0 -242
  757. data/test/factories/product/gateway/base.rb +0 -5
  758. data/test/factories/product/gateway/web_service_am.rb +0 -5
  759. data/test/factories/product/gateway/web_service_ba.rb +0 -5
  760. data/test/factories/product/gateway/web_service_svrs.rb +0 -5
@@ -2,11 +2,7 @@ require 'test_helper'
2
2
 
3
3
  describe BrNfe::Product::Operation::NfeRecepcaoEvento do
4
4
  subject { FactoryGirl.build(:product_operation_nfe_recepcao_evento) }
5
- let(:gateway) { FactoryGirl.build(:product_gateway_web_service_svrs) }
6
-
7
- before do
8
- subject.stubs(:gateway).returns(gateway)
9
- end
5
+ let(:evento_cancelamento) { FactoryGirl.build(:product_evento_cancelamento) }
10
6
 
11
7
  describe '#aliases' do
12
8
  it { must_have_alias_attribute :idLote, :numero_lote }
@@ -24,31 +20,6 @@ describe BrNfe::Product::Operation::NfeRecepcaoEvento do
24
20
  it { must allow_value('123456789012345').for(:numero_lote) }
25
21
  end
26
22
 
27
- it 'o método #wsdl deve pegar o valor do método wsdl_recepcao_evento do gateway ' do
28
- gateway.expects(:wsdl_recepcao_evento).returns('http://teste.wsdl_recepcao_evento.com')
29
- subject.wsdl.must_equal 'http://teste.wsdl_recepcao_evento.com'
30
- end
31
-
32
- it 'o método #method_wsdl deve pegar o valor do método operation_recepcao_evento do gateway ' do
33
- gateway.expects(:operation_recepcao_evento).returns(:operation_recepcao_evento)
34
- subject.method_wsdl.must_equal :operation_recepcao_evento
35
- end
36
-
37
- it 'o método #gateway_xml_version deve pegar o valor do método version_xml_recepcao_evento do gateway ' do
38
- gateway.expects(:version_xml_recepcao_evento).returns(:v3_20)
39
- subject.gateway_xml_version.must_equal :v3_20
40
- end
41
-
42
- it 'o método #url_xmlns deve pegar o valor do método url_xmlns_recepcao_evento do gateway ' do
43
- gateway.expects(:url_xmlns_recepcao_evento).returns('http://teste.url_xmlns_recepcao_evento.com')
44
- subject.url_xmlns.must_equal 'http://teste.url_xmlns_recepcao_evento.com'
45
- end
46
-
47
- it 'o método #ssl_version deve pegar o valor do método ssl_version_recepcao_evento do gateway ' do
48
- gateway.expects(:ssl_version_recepcao_evento).returns(:TLSv1)
49
- subject.ssl_version.must_equal :TLSv1
50
- end
51
-
52
23
  describe '#xml_builder' do
53
24
  it "Deve renderizar o XML e setar o valor na variavel @xml_builder" do
54
25
  subject.expects(:render_xml).returns('<xml>OK</xml>')
@@ -63,11 +34,12 @@ describe BrNfe::Product::Operation::NfeRecepcaoEvento do
63
34
  end
64
35
  end
65
36
 
66
- describe "Validação do XML para o Cancelamento através do XSD" do
67
- context "Para emissores que utilizam a versão 1.00" do
68
- before do
69
- gateway.stubs(:version_xml_recepcao_evento).returns(:v1_00)
70
- end
37
+ context "CANCELAMENTO - Validações para versão do XML 1.00 e NF-e 3.10" do
38
+ before do
39
+ subject.cancelamento = evento_cancelamento
40
+ subject.assign_attributes(nfe_version: :v3_10, ibge_code_of_issuer_uf: '42', env: :test)
41
+ end
42
+ describe "Validação do XML através do XSD" do
71
43
  it "Deve ser válido em ambiente de produção" do
72
44
  subject.env = :production
73
45
  subject.valid?.must_equal true, "#{subject.errors.full_messages}"
@@ -79,6 +51,81 @@ describe BrNfe::Product::Operation::NfeRecepcaoEvento do
79
51
  nfe_must_be_valid_by_schema 'envEventoCancNFe_v1.00.xsd'
80
52
  end
81
53
  end
82
- end
54
+ describe 'REQUEST MUST BE SET RESPONSE CORRECTLY' do
55
+ let(:xml_success) { read_fixture('product/response/v3.10/nfe_recepcao_evento/cancelamento/success.xml') }
56
+ let(:xml_fail) { read_fixture('product/response/v3.10/nfe_recepcao_evento/cancelamento/fail.xml') }
57
+ let(:expect_xml_success_result) { read_fixture('product/response/v3.10/nfe_recepcao_evento/cancelamento/xml_result_success_formatted.xml') }
58
+ let(:expect_xml_fail_result) { read_fixture('product/response/v3.10/nfe_recepcao_evento/cancelamento/xml_result_fail_formatted.xml') }
59
+ before do
60
+ evento_cancelamento.data_hora = Time.parse('2017-06-02T11:25:58-03:00')
61
+ evento_cancelamento.chave = 'ID1101113513040726711800012055000000000123193923347101'
62
+ savon.mock!
63
+ stub_request(:get, subject.client_wsdl.globals[:wsdl]).to_return(status: 200, body: read_fixture('product/wsdl/RecepcaoEvento.xml') )
64
+ end
65
+ after { savon.unmock! }
66
+
67
+ it "Quando o cancelamento for autorizado" do
68
+ savon.expects(subject.method_wsdl).returns(xml_success)
69
+ subject.request
70
+ response = subject.response
71
+
72
+
73
+ response.environment.must_equal :test
74
+ response.app_version.must_equal 'SVRS201601161016'
75
+ response.request_status.must_equal :success
76
+ response.processing_status_code.must_equal '128'
77
+ response.processing_status_motive.must_equal 'Lote de Evento Processado'
78
+ response.processing_status.must_equal :success
79
+ response.xml.must_equal expect_xml_success_result
80
+
81
+ response.codigo_orgao.must_equal '42'
82
+
83
+ response.events.size.must_equal 1
84
+ event = response.events[0]
85
+
86
+ event.codigo_orgao.must_equal '42'
87
+ event.status_code.must_equal '135'
88
+ event.status_motive.must_equal 'Evento registrado e vinculado a NF-e'
89
+ event.code.must_equal '110111'
90
+ event.sequence.must_equal 1
91
+ event.cpf_cnpj_destino.must_equal '00090742403050'
92
+ event.registred_at.must_equal Time.parse('2017-01-03T08:55:05-02:00')
93
+ event.authorization_protocol.must_equal '342170000000906'
94
+ event.description.must_be_nil
95
+ event.justification.must_be_nil
96
+ event.correction_text.must_be_nil
97
+ end
83
98
 
99
+ it "Quando o cancelamento não for autorizado" do
100
+ savon.expects(subject.method_wsdl).returns(xml_fail)
101
+ subject.request
102
+ response = subject.response
103
+
104
+
105
+ response.environment.must_equal :test
106
+ response.app_version.must_equal 'SVRS201601161025'
107
+ response.request_status.must_equal :success
108
+ response.processing_status_code.must_equal '128'
109
+ response.processing_status_motive.must_equal 'Lote de Evento Processado'
110
+ response.processing_status.must_equal :success
111
+ response.codigo_orgao.must_equal '42'
112
+ response.xml.must_equal expect_xml_fail_result
113
+
114
+ response.events.size.must_equal 1
115
+ event = response.events[0]
116
+
117
+ event.codigo_orgao.must_equal '42'
118
+ event.status_code.must_equal '501'
119
+ event.status_motive.must_equal 'Rejeicao: Prazo de Cancelamento Superior ao Previsto na Legislacao'
120
+ event.code.must_equal '110111'
121
+ event.sequence.must_equal 1
122
+ event.cpf_cnpj_destino.must_equal ''
123
+ event.registred_at.must_equal Time.parse('2017-01-02T18:27:27-02:00')
124
+ event.authorization_protocol.must_equal ''
125
+ event.description.must_be_nil
126
+ event.justification.must_be_nil
127
+ event.correction_text.must_be_nil
128
+ end
129
+ end
130
+ end
84
131
  end
@@ -2,14 +2,8 @@ require 'test_helper'
2
2
 
3
3
  describe BrNfe::Product::Operation::NfeRetAutorizacao do
4
4
  subject { FactoryGirl.build(:product_operation_nfe_ret_autorizacao) }
5
-
6
- let(:gateway) { FactoryGirl.build(:product_gateway_web_service_svrs) }
7
5
  let(:nota_fiscal) { FactoryGirl.build(:product_nota_fiscal) }
8
6
 
9
- before do
10
- subject.stubs(:gateway).returns(gateway)
11
- end
12
-
13
7
  describe '#aliases' do
14
8
  it { must_have_alias_attribute :nRec, :numero_recibo }
15
9
  end
@@ -21,26 +15,6 @@ describe BrNfe::Product::Operation::NfeRetAutorizacao do
21
15
  it { must allow_value('123456789012345').for(:numero_recibo) }
22
16
  end
23
17
 
24
- it 'o método #url_xmlns deve pegar o valor do método url_xmlns_retorno_autorizacao do gateway ' do
25
- gateway.expects(:url_xmlns_retorno_autorizacao).returns('http://teste.url_xmlns_retorno_autorizacao.com')
26
- subject.url_xmlns.must_equal 'http://teste.url_xmlns_retorno_autorizacao.com'
27
- end
28
-
29
- it 'o método #wsdl deve pegar o valor do método wsdl_retorno_autorizacao do gateway ' do
30
- gateway.expects(:wsdl_retorno_autorizacao).returns('http://teste.wsdl_retorno_autorizacao.com')
31
- subject.wsdl.must_equal 'http://teste.wsdl_retorno_autorizacao.com'
32
- end
33
-
34
- it 'o método #method_wsdl deve pegar o valor do método operation_retorno_autorizacao do gateway ' do
35
- gateway.expects(:operation_retorno_autorizacao).returns(:operation_retorno_autorizacao)
36
- subject.method_wsdl.must_equal :operation_retorno_autorizacao
37
- end
38
-
39
- it 'o método #gateway_xml_version deve pegar o valor do método version_xml_retorno_autorizacao do gateway ' do
40
- gateway.expects(:version_xml_retorno_autorizacao).returns(:v3_20)
41
- subject.gateway_xml_version.must_equal :v3_20
42
- end
43
-
44
18
  describe '#xml_builder' do
45
19
  it "Deve renderizar o XML e setar o valor na variavel @xml_builder" do
46
20
  subject.expects(:render_xml).returns('<xml>OK</xml>')
@@ -67,7 +41,12 @@ describe BrNfe::Product::Operation::NfeRetAutorizacao do
67
41
  nfe_must_be_valid_by_schema 'consReciNFe_v2.00.xsd'
68
42
  end
69
43
  end
70
- describe 'for XML version 3.10' do
44
+ end
45
+ context "Validações para NF-e versão 3.10" do
46
+ before do
47
+ subject.assign_attributes(nfe_version: :v3_10, ibge_code_of_issuer_uf: '42', env: :test)
48
+ end
49
+ describe "Validação do XML através do XSD" do
71
50
  before { subject.stubs(:gateway_xml_version).returns(:v3_10) }
72
51
  it "Deve ser válido em ambiente de produção" do
73
52
  subject.env = :production
@@ -78,232 +57,692 @@ describe BrNfe::Product::Operation::NfeRetAutorizacao do
78
57
  nfe_must_be_valid_by_schema 'consReciNFe_v3.10.xsd'
79
58
  end
80
59
  end
81
- end
60
+ describe 'REQUEST MUST BE SET RESPONSE CORRECTLY' do
61
+ let(:original_xml_lot) { read_fixture('product/response/v3.10/nfe_ret_autorizacao/original_xml/lot.xml') }
62
+ let(:original_xml_nfe) { read_fixture('product/response/v3.10/nfe_ret_autorizacao/original_xml/nfe.xml') }
63
+ let(:original_xml_nfeProc) { read_fixture('product/response/v3.10/nfe_ret_autorizacao/original_xml/nfeProc.xml') }
64
+ before do
65
+ savon.mock!
66
+ stub_request(:get, subject.client_wsdl.globals[:wsdl]).to_return(status: 200, body: read_fixture('product/wsdl/NFeRetAutorizacao.xml') )
67
+ end
68
+ after { savon.unmock! }
69
+
70
+ it "Quando o lote processou com erro deve setar o motivo e os demais valores" do
71
+ subject.original_xml = original_xml_lot
72
+ response_xml = read_fixture('product/response/v3.10/nfe_ret_autorizacao/lot_fail.xml')
73
+ savon.expects(subject.method_wsdl).returns(response_xml)
74
+ subject.request
75
+ response = subject.response
76
+
77
+ response.must_be_kind_of BrNfe::Product::Response::NfeRetAutorizacao
78
+
79
+ response.environment.must_equal :test
80
+ response.app_version.must_equal 'SVRS201611281548'
81
+ response.processed_at.must_equal Time.parse('2016-12-20T16:11:28-02:00')
82
+ response.protocol.must_equal '423002169484138'
83
+ response.request_status.must_equal :success
84
+ response.processing_status_code.must_equal '106'
85
+ response.processing_status_motive.must_equal 'Lote não localizado'
86
+ response.processing_status.must_equal :error
87
+ response.notas_fiscais.must_be_empty
88
+ end
82
89
 
83
- describe 'REQUEST MUST BE SET RESPONSE CORRECTLY' do
84
- let(:original_xml_lot) { read_fixture('product/response/v3.10/nfe_ret_autorizacao/original_xml/lot.xml') }
85
- let(:original_xml_nfe) { read_fixture('product/response/v3.10/nfe_ret_autorizacao/original_xml/nfe.xml') }
86
- let(:original_xml_nfeProc) { read_fixture('product/response/v3.10/nfe_ret_autorizacao/original_xml/nfeProc.xml') }
87
- before do
88
- savon.mock!
89
- stub_request(:get, subject.wsdl).to_return(status: 200, body: read_fixture('product/wsdl/NFeRetAutorizacao.xml') )
90
- end
91
- after { savon.unmock! }
90
+ it "Deve instanciar a nota e setar os valores quando o lote processou porém a nota não foi autorizada" do
91
+ subject.original_xml = original_xml_nfeProc
92
+ response_xml = read_fixture('product/response/v3.10/nfe_ret_autorizacao/lot_ok_one_invoice_fail.xml')
93
+ savon.expects(subject.method_wsdl).returns(response_xml)
94
+ subject.request
95
+ response = subject.response
96
+
97
+ response.environment.must_equal :test
98
+ response.app_version.must_equal 'SVRS201611281548'
99
+ response.processed_at.must_equal Time.parse('2016-12-20T14:29:28-02:00')
100
+ response.protocol.must_equal '423002169476281'
101
+ response.request_status.must_equal :success
102
+ response.processing_status_code.must_equal '104'
103
+ response.processing_status_motive.must_equal 'Lote processado'
104
+ response.processing_status.must_equal :success
105
+
106
+ response.notas_fiscais.size.must_equal 1
107
+ nf = response.notas_fiscais[0]
108
+
109
+ # Não deve adicionar o protocolo no XML se deu erro
110
+ nf.xml.must_equal read_fixture('product/response/v3.10/nfe_ret_autorizacao/nfe/nf_2_without_protocol.xml')
111
+
112
+ nf.protocol.must_equal ''
113
+ nf.digest_value.must_equal 'hBKuDGD3gRtlFDO5bT9VH/UWKBQ='
114
+ nf.processed_at.must_equal Time.parse('2016-12-20T14:29:28-02:00')
115
+ nf.status_code.must_equal '209'
116
+ nf.status_motive.must_equal 'Rejeicao: IE do emitente invalida'
117
+ nf.status.must_equal :error
118
+ end
92
119
 
93
- it "Quando o lote processou com erro deve setar o motivo e os demais valores" do
94
- subject.original_xml = original_xml_lot
95
- response_xml = read_fixture('product/response/v3.10/nfe_ret_autorizacao/lot_fail.xml')
96
- savon.expects(gateway.operation_retorno_autorizacao).returns(response_xml)
97
- subject.request
98
- response = subject.response
120
+ it "Quando tiver mais de uma nota e 1 nota autorizou e a outra não eve setar os valores referentes a cada nota" do
121
+ subject.original_xml = original_xml_lot
122
+ response_xml = read_fixture('product/response/v3.10/nfe_ret_autorizacao/lot_ok_one_invoice_fail_and_one_ok.xml')
123
+ savon.expects(subject.method_wsdl).returns(response_xml)
124
+ subject.request
125
+ response = subject.response
126
+
127
+ response.environment.must_equal :test
128
+ response.app_version.must_equal 'SVRS201611281548'
129
+ response.processed_at.must_equal Time.parse('2016-12-23T15:02:01-02:00')
130
+ response.protocol.must_equal '423002169623858'
131
+ response.request_status.must_equal :success
132
+ response.processing_status_code.must_equal '104'
133
+ response.processing_status_motive.must_equal 'Lote processado'
134
+ response.processing_status.must_equal :success
135
+
136
+ response.notas_fiscais.size.must_equal 2
137
+
138
+ nf1 = response.notas_fiscais[0]
139
+ nf1.xml.must_equal read_fixture('product/response/v3.10/nfe_ret_autorizacao/nfe/nf_2_without_protocol.xml')
140
+ nf1.protocol.must_equal ''
141
+ nf1.digest_value.must_equal ''
142
+ nf1.processed_at.must_equal Time.parse('2016-12-23T15:02:01-02:00')
143
+ nf1.status_code.must_equal '209'
144
+ nf1.status_motive.must_equal 'Rejeicao: IE do emitente invalida'
145
+ nf1.status.must_equal :error
146
+
147
+ nf2 = response.notas_fiscais[1]
148
+ nf2.xml.must_equal read_fixture('product/response/v3.10/nfe_ret_autorizacao/nfe/nf_3_with_protocol.xml')
149
+ nf2.protocol.must_equal '342160000820227'
150
+ nf2.digest_value.must_equal 'eoBzPod21zF9/46jjOS2kLRyTPM='
151
+ nf2.processed_at.must_equal Time.parse('2016-12-23T15:02:01-02:00')
152
+ nf2.status_code.must_equal '100'
153
+ nf2.status_motive.must_equal 'Autorizado o uso da NF-e'
154
+ nf2.status.must_equal :success
155
+ end
156
+ it "Quando tiver apenas uma nota e estiver autorizada" do
157
+ subject.original_xml = original_xml_nfe
158
+ response_xml = read_fixture('product/response/v3.10/nfe_ret_autorizacao/lot_ok_one_invoice_ok.xml')
159
+ savon.expects(subject.method_wsdl).returns(response_xml)
160
+ subject.request
161
+ response = subject.response
162
+
163
+ response.environment.must_equal :test
164
+ response.app_version.must_equal 'SVRS201611281548'
165
+ response.processed_at.must_equal Time.parse('2016-12-20T16:11:28-02:00')
166
+ response.protocol.must_equal '423002169484138'
167
+ response.request_status.must_equal :success
168
+ response.processing_status_code.must_equal '104'
169
+ response.processing_status_motive.must_equal 'Lote processado'
170
+ response.processing_status.must_equal :success
171
+
172
+ response.notas_fiscais.size.must_equal 1
173
+
174
+ nf1 = response.notas_fiscais[0]
175
+ nf1.chave_de_acesso.must_equal '42161208897094000155550010000000021201601013'
176
+ nf1.xml.must_equal read_fixture('product/response/v3.10/nfe_ret_autorizacao/nfe/nf_2_with_protocol.xml')
177
+ nf1.protocol.must_equal '342160000785247'
178
+ nf1.digest_value.must_equal 'AcoglfmS7KCjv/XaaYO0T9ohlqM='
179
+ nf1.processed_at.must_equal Time.parse('2016-12-20T16:11:28-02:00')
180
+ nf1.status_code.must_equal '100'
181
+ nf1.status_motive.must_equal 'Autorizado o uso da NF-e'
182
+ nf1.status.must_equal :success
183
+ end
99
184
 
100
- response.must_be_kind_of BrNfe::Product::Response::NfeRetAutorizacao
101
-
102
- response.environment.must_equal :test
103
- response.app_version.must_equal 'SVRS201611281548'
104
- response.processed_at.must_equal Time.parse('2016-12-20T16:11:28-02:00')
105
- response.protocol.must_equal '423002169484138'
106
- response.request_status.must_equal :success
107
- response.processing_status_code.must_equal '106'
108
- response.processing_status_motive.must_equal 'Lote não localizado'
109
- response.processing_status.must_equal :error
110
- response.notas_fiscais.must_be_empty
111
- end
185
+ it "Quando tiver duas notas rejeitadas" do
186
+ subject.original_xml = original_xml_lot
187
+ response_xml = read_fixture('product/response/v3.10/nfe_ret_autorizacao/lot_ok_two_invoice_fail.xml')
188
+ savon.expects(subject.method_wsdl).returns(response_xml)
189
+ subject.request
190
+ response = subject.response
191
+
192
+ response.environment.must_equal :test
193
+ response.app_version.must_equal 'SVRS201611281548'
194
+ response.processed_at.must_equal Time.parse('2016-12-23T15:02:01-02:00')
195
+ response.protocol.must_equal '423002169623858'
196
+ response.request_status.must_equal :success
197
+ response.processing_status_code.must_equal '104'
198
+ response.processing_status_motive.must_equal 'Lote processado'
199
+ response.processing_status.must_equal :success
200
+
201
+ response.notas_fiscais.size.must_equal 2
202
+
203
+ nf1 = response.notas_fiscais[0]
204
+ nf1.chave_de_acesso.must_equal '42161208897094000155550010000000021201601013'
205
+ nf1.xml.must_equal read_fixture('product/response/v3.10/nfe_ret_autorizacao/nfe/nf_2_without_protocol.xml')
206
+ nf1.protocol.must_equal ''
207
+ nf1.digest_value.must_equal ''
208
+ nf1.processed_at.must_equal Time.parse('2016-12-23T15:02:01-02:00')
209
+ nf1.status_code.must_equal '209'
210
+ nf1.status_motive.must_equal 'Rejeicao: IE do emitente invalida'
211
+ nf1.status.must_equal :error
212
+
213
+ nf2 = response.notas_fiscais[1]
214
+ nf2.chave_de_acesso.must_equal '42161208897094000155550010000000031201601010'
215
+ nf2.xml.must_equal read_fixture('product/response/v3.10/nfe_ret_autorizacao/nfe/nf_3_without_protocol.xml')
216
+ nf2.protocol.must_equal ''
217
+ nf2.digest_value.must_equal ''
218
+ nf2.processed_at.must_equal Time.parse('2016-12-23T15:02:02-02:00')
219
+ nf2.status_code.must_equal '216'
220
+ nf2.status_motive.must_equal 'Rejeição: Chave de Acesso difere da cadastrada'
221
+ nf2.status.must_equal :error
222
+ end
112
223
 
113
- it "Deve instanciar a nota e setar os valores quando o lote processou porém a nota não foi autorizada" do
114
- subject.original_xml = original_xml_nfeProc
115
- response_xml = read_fixture('product/response/v3.10/nfe_ret_autorizacao/lot_ok_one_invoice_fail.xml')
116
- savon.expects(gateway.operation_retorno_autorizacao).returns(response_xml)
117
- subject.request
118
- response = subject.response
119
-
120
- response.environment.must_equal :test
121
- response.app_version.must_equal 'SVRS201611281548'
122
- response.processed_at.must_equal Time.parse('2016-12-20T14:29:28-02:00')
123
- response.protocol.must_equal '423002169476281'
124
- response.request_status.must_equal :success
125
- response.processing_status_code.must_equal '104'
126
- response.processing_status_motive.must_equal 'Lote processado'
127
- response.processing_status.must_equal :success
128
-
129
- response.notas_fiscais.size.must_equal 1
130
- nf = response.notas_fiscais[0]
131
-
132
- # Não deve adicionar o protocolo no XML se deu erro
133
- nf.xml.must_equal read_fixture('product/response/v3.10/nfe_ret_autorizacao/nfe/nf_2_without_protocol.xml')
134
-
135
- nf.protocol.must_equal ''
136
- nf.digest_value.must_equal 'hBKuDGD3gRtlFDO5bT9VH/UWKBQ='
137
- nf.processed_at.must_equal Time.parse('2016-12-20T14:29:28-02:00')
138
- nf.status_code.must_equal '209'
139
- nf.status_motive.must_equal 'Rejeicao: IE do emitente invalida'
140
- nf.status.must_equal :error
141
- end
224
+ it "Quando tiver duas notas autorizadas" do
225
+ subject.original_xml = original_xml_lot
226
+ response_xml = read_fixture('product/response/v3.10/nfe_ret_autorizacao/lot_ok_two_invoice_ok.xml')
227
+ savon.expects(subject.method_wsdl).returns(response_xml)
228
+ subject.request
229
+ response = subject.response
230
+
231
+ response.environment.must_equal :test
232
+ response.app_version.must_equal 'SVRS201611281548'
233
+ response.processed_at.must_equal Time.parse('2016-12-23T15:02:01-02:00')
234
+ response.protocol.must_equal '423002169623858'
235
+ response.request_status.must_equal :success
236
+ response.processing_status_code.must_equal '104'
237
+ response.processing_status_motive.must_equal 'Lote processado'
238
+ response.processing_status.must_equal :success
239
+
240
+ response.notas_fiscais.size.must_equal 2
241
+
242
+ nf1 = response.notas_fiscais[0]
243
+ nf1.chave_de_acesso.must_equal '42161208897094000155550010000000021201601013'
244
+ nf1.xml.must_equal read_fixture('product/response/v3.10/nfe_ret_autorizacao/nfe/nf_2_with_protocol.xml')
245
+ nf1.protocol.must_equal '342160000785247'
246
+ nf1.digest_value.must_equal 'AcoglfmS7KCjv/XaaYO0T9ohlqM='
247
+ nf1.processed_at.must_equal Time.parse('2016-12-20T16:11:28-02:00')
248
+ nf1.status_code.must_equal '100'
249
+ nf1.status_motive.must_equal 'Autorizado o uso da NF-e'
250
+ nf1.status.must_equal :success
251
+
252
+ nf2 = response.notas_fiscais[1]
253
+ nf2.xml.must_equal read_fixture('product/response/v3.10/nfe_ret_autorizacao/nfe/nf_3_with_protocol.xml')
254
+ nf2.protocol.must_equal '342160000820227'
255
+ nf2.digest_value.must_equal 'eoBzPod21zF9/46jjOS2kLRyTPM='
256
+ nf2.processed_at.must_equal Time.parse('2016-12-23T15:02:01-02:00')
257
+ nf2.status_code.must_equal '100'
258
+ nf2.status_motive.must_equal 'Autorizado o uso da NF-e'
259
+ nf2.status.must_equal :success
260
+ end
142
261
 
143
- it "Quando tiver mais de uma nota e 1 nota autorizou e a outra não eve setar os valores referentes a cada nota" do
144
- subject.original_xml = original_xml_lot
145
- response_xml = read_fixture('product/response/v3.10/nfe_ret_autorizacao/lot_ok_one_invoice_fail_and_one_ok.xml')
146
- savon.expects(gateway.operation_retorno_autorizacao).returns(response_xml)
147
- subject.request
148
- response = subject.response
149
-
150
- response.environment.must_equal :test
151
- response.app_version.must_equal 'SVRS201611281548'
152
- response.processed_at.must_equal Time.parse('2016-12-23T15:02:01-02:00')
153
- response.protocol.must_equal '423002169623858'
154
- response.request_status.must_equal :success
155
- response.processing_status_code.must_equal '104'
156
- response.processing_status_motive.must_equal 'Lote processado'
157
- response.processing_status.must_equal :success
158
-
159
- response.notas_fiscais.size.must_equal 2
160
-
161
- nf1 = response.notas_fiscais[0]
162
- nf1.xml.must_equal read_fixture('product/response/v3.10/nfe_ret_autorizacao/nfe/nf_2_without_protocol.xml')
163
- nf1.protocol.must_equal ''
164
- nf1.digest_value.must_equal ''
165
- nf1.processed_at.must_equal Time.parse('2016-12-23T15:02:01-02:00')
166
- nf1.status_code.must_equal '209'
167
- nf1.status_motive.must_equal 'Rejeicao: IE do emitente invalida'
168
- nf1.status.must_equal :error
169
-
170
- nf2 = response.notas_fiscais[1]
171
- nf2.xml.must_equal read_fixture('product/response/v3.10/nfe_ret_autorizacao/nfe/nf_3_with_protocol.xml')
172
- nf2.protocol.must_equal '342160000820227'
173
- nf2.digest_value.must_equal 'eoBzPod21zF9/46jjOS2kLRyTPM='
174
- nf2.processed_at.must_equal Time.parse('2016-12-23T15:02:01-02:00')
175
- nf2.status_code.must_equal '100'
176
- nf2.status_motive.must_equal 'Autorizado o uso da NF-e'
177
- nf2.status.must_equal :success
178
- end
179
- it "Quando tiver apenas uma nota e estiver autorizada" do
180
- subject.original_xml = original_xml_nfe
181
- response_xml = read_fixture('product/response/v3.10/nfe_ret_autorizacao/lot_ok_one_invoice_ok.xml')
182
- savon.expects(gateway.operation_retorno_autorizacao).returns(response_xml)
183
- subject.request
184
- response = subject.response
185
-
186
- response.environment.must_equal :test
187
- response.app_version.must_equal 'SVRS201611281548'
188
- response.processed_at.must_equal Time.parse('2016-12-20T16:11:28-02:00')
189
- response.protocol.must_equal '423002169484138'
190
- response.request_status.must_equal :success
191
- response.processing_status_code.must_equal '104'
192
- response.processing_status_motive.must_equal 'Lote processado'
193
- response.processing_status.must_equal :success
194
-
195
- response.notas_fiscais.size.must_equal 1
196
-
197
- nf1 = response.notas_fiscais[0]
198
- nf1.chave_de_acesso.must_equal '42161208897094000155550010000000021201601013'
199
- nf1.xml.must_equal read_fixture('product/response/v3.10/nfe_ret_autorizacao/nfe/nf_2_with_protocol.xml')
200
- nf1.protocol.must_equal '342160000785247'
201
- nf1.digest_value.must_equal 'AcoglfmS7KCjv/XaaYO0T9ohlqM='
202
- nf1.processed_at.must_equal Time.parse('2016-12-20T16:11:28-02:00')
203
- nf1.status_code.must_equal '100'
204
- nf1.status_motive.must_equal 'Autorizado o uso da NF-e'
205
- nf1.status.must_equal :success
262
+ it "Se não Encontrar o XML da nota passada por parametro no original_xml não deve add um xml na nota" do
263
+ # Aqui é setado o 'XML' de uma nota que não está presente no protocolode autorização
264
+ subject.original_xml = '<?xml version="1.0" encoding="utf-8"?><nfeProc xmlns="http://www.portalfiscal.inf.br/nfe"'
265
+ subject.original_xml += ' versao="3.10"><NFe xmlns="http://www.portalfiscal.inf.br/nfe"><infNFe Id="NFe421612088970940001555500100000000201234567890" versao="3.10"></NFe></nfeProc>'
266
+
267
+ response_xml = read_fixture('product/response/v3.10/nfe_ret_autorizacao/lot_ok_one_invoice_ok.xml')
268
+ savon.expects(subject.method_wsdl).returns(response_xml)
269
+ subject.request
270
+ response = subject.response
271
+
272
+ response.environment.must_equal :test
273
+ response.app_version.must_equal 'SVRS201611281548'
274
+ response.processed_at.must_equal Time.parse('2016-12-20T16:11:28-02:00')
275
+ response.protocol.must_equal '423002169484138'
276
+ response.request_status.must_equal :success
277
+ response.processing_status_code.must_equal '104'
278
+ response.processing_status_motive.must_equal 'Lote processado'
279
+ response.processing_status.must_equal :success
280
+
281
+ response.notas_fiscais.size.must_equal 1
282
+ response.notas_fiscais[0].xml.must_be_nil
283
+ end
206
284
  end
207
285
 
208
- it "Quando tiver duas notas rejeitadas" do
209
- subject.original_xml = original_xml_lot
210
- response_xml = read_fixture('product/response/v3.10/nfe_ret_autorizacao/lot_ok_two_invoice_fail.xml')
211
- savon.expects(gateway.operation_retorno_autorizacao).returns(response_xml)
212
- subject.request
213
- response = subject.response
214
-
215
- response.environment.must_equal :test
216
- response.app_version.must_equal 'SVRS201611281548'
217
- response.processed_at.must_equal Time.parse('2016-12-23T15:02:01-02:00')
218
- response.protocol.must_equal '423002169623858'
219
- response.request_status.must_equal :success
220
- response.processing_status_code.must_equal '104'
221
- response.processing_status_motive.must_equal 'Lote processado'
222
- response.processing_status.must_equal :success
223
-
224
- response.notas_fiscais.size.must_equal 2
225
-
226
- nf1 = response.notas_fiscais[0]
227
- nf1.chave_de_acesso.must_equal '42161208897094000155550010000000021201601013'
228
- nf1.xml.must_equal read_fixture('product/response/v3.10/nfe_ret_autorizacao/nfe/nf_2_without_protocol.xml')
229
- nf1.protocol.must_equal ''
230
- nf1.digest_value.must_equal ''
231
- nf1.processed_at.must_equal Time.parse('2016-12-23T15:02:01-02:00')
232
- nf1.status_code.must_equal '209'
233
- nf1.status_motive.must_equal 'Rejeicao: IE do emitente invalida'
234
- nf1.status.must_equal :error
235
-
236
- nf2 = response.notas_fiscais[1]
237
- nf2.chave_de_acesso.must_equal '42161208897094000155550010000000031201601010'
238
- nf2.xml.must_equal read_fixture('product/response/v3.10/nfe_ret_autorizacao/nfe/nf_3_without_protocol.xml')
239
- nf2.protocol.must_equal ''
240
- nf2.digest_value.must_equal ''
241
- nf2.processed_at.must_equal Time.parse('2016-12-23T15:02:02-02:00')
242
- nf2.status_code.must_equal '216'
243
- nf2.status_motive.must_equal 'Rejeição: Chave de Acesso difere da cadastrada'
244
- nf2.status.must_equal :error
286
+ describe 'Configurações por UF dos parametros para instanciar o client Soap' do
287
+ let(:client_wsdl) { subject.client_wsdl }
288
+ describe 'UF 12 - Acre' do
289
+ before { subject.ibge_code_of_issuer_uf = '12' }
290
+ it "Deve utilizar o servidor SVRS para emissão normal" do
291
+ must_use_SVRS
292
+ end
293
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
294
+ must_use_SVCAN_for_SVC_mode
295
+ end
296
+ end
297
+ describe 'UF 27 - Alagoas' do
298
+ before { subject.ibge_code_of_issuer_uf = '27' }
299
+ it "Deve utilizar o servidor SVRS para emissão normal" do
300
+ must_use_SVRS
301
+ end
302
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
303
+ must_use_SVCAN_for_SVC_mode
304
+ end
305
+ end
306
+ describe 'UF 16 - Amapá' do
307
+ before { subject.ibge_code_of_issuer_uf = '16' }
308
+ it "Deve utilizar o servidor SVRS para emissão normal" do
309
+ must_use_SVRS
310
+ end
311
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
312
+ must_use_SVCAN_for_SVC_mode
313
+ end
314
+ end
315
+ describe 'UF 13 - Amazonas' do
316
+ before { subject.ibge_code_of_issuer_uf = '13' }
317
+ it "configurações para e emissão normal no ambiente de produção" do
318
+ subject.env = :production
319
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe.sefaz.am.gov.br/services2/services/NfeRetAutorizacao?wsdl'
320
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
321
+ client_wsdl.globals[:ssl_version].must_equal :TLSv1
322
+ client_wsdl.globals[:follow_redirects].must_equal false
323
+ client_wsdl.globals[:headers].must_be_nil
324
+ end
325
+ it "configurações para e emissão normal no ambiente de teste" do
326
+ subject.env = :test
327
+ client_wsdl.globals[:wsdl].must_equal 'https://homnfe.sefaz.am.gov.br/services2/services/NfeRetAutorizacao?wsdl'
328
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
329
+ client_wsdl.globals[:ssl_version].must_equal :TLSv1
330
+ client_wsdl.globals[:follow_redirects].must_equal false
331
+ client_wsdl.globals[:headers].must_be_nil
332
+ end
333
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
334
+ must_use_SVCRS_for_SVC_mode
335
+ end
336
+ end
337
+ describe 'UF 29 - Bahia' do
338
+ before { subject.ibge_code_of_issuer_uf = '29' }
339
+ it "configurações para e emissão normal no ambiente de produção" do
340
+ subject.env = :production
341
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe.sefaz.ba.gov.br/webservices/NfeRetAutorizacao/NfeRetAutorizacao.asmx?wsdl'
342
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
343
+ client_wsdl.globals[:ssl_version].must_equal :TLSv1
344
+ client_wsdl.globals[:follow_redirects].must_equal false
345
+ client_wsdl.globals[:headers].must_be_nil
346
+ end
347
+ it "configurações para e emissão normal no ambiente de teste" do
348
+ subject.env = :test
349
+ client_wsdl.globals[:wsdl].must_equal 'https://hnfe.sefaz.ba.gov.br/webservices/NfeRetAutorizacao/NfeRetAutorizacao.asmx?wsdl'
350
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
351
+ client_wsdl.globals[:ssl_version].must_equal :TLSv1
352
+ client_wsdl.globals[:follow_redirects].must_equal false
353
+ client_wsdl.globals[:headers].must_be_nil
354
+ end
355
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
356
+ must_use_SVCRS_for_SVC_mode
357
+ end
358
+ end
359
+ describe 'UF 23 - Ceará' do
360
+ before { subject.ibge_code_of_issuer_uf = '23' }
361
+ it "configurações para e emissão normal no ambiente de produção" do
362
+ subject.env = :production
363
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe.sefaz.ce.gov.br/nfe2/services/NfeRetAutorizacao?wsdl'
364
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
365
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
366
+ client_wsdl.globals[:follow_redirects].must_equal false
367
+ client_wsdl.globals[:headers].must_be_nil
368
+ end
369
+ it "configurações para e emissão normal no ambiente de teste" do
370
+ subject.env = :test
371
+ client_wsdl.globals[:wsdl].must_equal 'https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeRetAutorizacao?wsdl'
372
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
373
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
374
+ client_wsdl.globals[:follow_redirects].must_equal false
375
+ client_wsdl.globals[:headers].must_be_nil
376
+ end
377
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
378
+ must_use_SVCRS_for_SVC_mode
379
+ end
380
+ end
381
+ describe 'UF 53 - Distrito Federal' do
382
+ before { subject.ibge_code_of_issuer_uf = '53' }
383
+ it "Deve utilizar o servidor SVRS para emissão normal" do
384
+ must_use_SVRS
385
+ end
386
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
387
+ must_use_SVCAN_for_SVC_mode
388
+ end
389
+ end
390
+ describe 'UF 32 - Espírito Santo' do
391
+ before { subject.ibge_code_of_issuer_uf = '32' }
392
+ it "Deve utilizar o servidor SVRS para emissão normal" do
393
+ must_use_SVRS
394
+ end
395
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
396
+ must_use_SVCAN_for_SVC_mode
397
+ end
398
+ end
399
+ describe 'UF 52 - Goiás' do
400
+ before { subject.ibge_code_of_issuer_uf = '52' }
401
+ it "configurações para e emissão normal no ambiente de produção" do
402
+ subject.env = :production
403
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeRetAutorizacao?wsdl'
404
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
405
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
406
+ client_wsdl.globals[:follow_redirects].must_equal true
407
+ client_wsdl.globals[:headers].must_equal( {:'Content-Type' => 'application/soap+xml; charset=utf-8'} )
408
+ end
409
+ it "configurações para e emissão normal no ambiente de teste" do
410
+ subject.env = :test
411
+ client_wsdl.globals[:wsdl].must_equal 'https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeRetAutorizacao?wsdl'
412
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
413
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
414
+ client_wsdl.globals[:follow_redirects].must_equal true
415
+ client_wsdl.globals[:headers].must_equal( {:'Content-Type' => 'application/soap+xml; charset=utf-8'} )
416
+ end
417
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
418
+ must_use_SVCRS_for_SVC_mode
419
+ end
420
+ end
421
+ describe 'UF 21 - Maranhão' do
422
+ before { subject.ibge_code_of_issuer_uf = '21' }
423
+ it "Deve utilizar o servidor SVRS para emissão normal" do
424
+ must_use_SVAN
425
+ end
426
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
427
+ must_use_SVCRS_for_SVC_mode
428
+ end
429
+ end
430
+ describe 'UF 51 - Mato Grosso' do
431
+ before { subject.ibge_code_of_issuer_uf = '51' }
432
+ it "configurações para e emissão normal no ambiente de produção" do
433
+ subject.env = :production
434
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeRetAutorizacao?wsdl'
435
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
436
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
437
+ client_wsdl.globals[:follow_redirects].must_equal false
438
+ client_wsdl.globals[:headers].must_be_nil
439
+ end
440
+ it "configurações para e emissão normal no ambiente de teste" do
441
+ subject.env = :test
442
+ client_wsdl.globals[:wsdl].must_equal 'https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeRetAutorizacao?wsdl'
443
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
444
+ client_wsdl.globals[:ssl_version].must_equal :TLSv1
445
+ client_wsdl.globals[:follow_redirects].must_equal false
446
+ client_wsdl.globals[:headers].must_be_nil
447
+ end
448
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
449
+ must_use_SVCRS_for_SVC_mode
450
+ end
451
+ end
452
+ describe 'UF 50 - Mato Grosso do Sul' do
453
+ before { subject.ibge_code_of_issuer_uf = '50' }
454
+ it "configurações para e emissão normal no ambiente de produção" do
455
+ subject.env = :production
456
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe.fazenda.ms.gov.br/producao/services2/NfeRetAutorizacao?wsdl'
457
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
458
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
459
+ client_wsdl.globals[:follow_redirects].must_equal false
460
+ client_wsdl.globals[:headers].must_be_nil
461
+ end
462
+ it "configurações para e emissão normal no ambiente de teste" do
463
+ subject.env = :test
464
+ client_wsdl.globals[:wsdl].must_equal 'https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeRetAutorizacao?wsdl'
465
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
466
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
467
+ client_wsdl.globals[:follow_redirects].must_equal false
468
+ client_wsdl.globals[:headers].must_be_nil
469
+ end
470
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
471
+ must_use_SVCRS_for_SVC_mode
472
+ end
473
+ end
474
+ describe 'UF 31 - Minas Gerais' do
475
+ before { subject.ibge_code_of_issuer_uf = '31' }
476
+ it "configurações para e emissão normal no ambiente de produção" do
477
+ subject.env = :production
478
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe.fazenda.mg.gov.br/nfe2/services/NfeRetAutorizacao?wsdl'
479
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
480
+ client_wsdl.globals[:ssl_version].must_equal :TLSv1
481
+ client_wsdl.globals[:follow_redirects].must_equal false
482
+ client_wsdl.globals[:headers].must_be_nil
483
+ end
484
+ it "configurações para e emissão normal no ambiente de teste" do
485
+ subject.env = :test
486
+ client_wsdl.globals[:wsdl].must_equal 'https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeRetAutorizacao?wsdl'
487
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
488
+ client_wsdl.globals[:ssl_version].must_equal :TLSv1
489
+ client_wsdl.globals[:follow_redirects].must_equal false
490
+ client_wsdl.globals[:headers].must_be_nil
491
+ end
492
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
493
+ must_use_SVCAN_for_SVC_mode
494
+ end
495
+ end
496
+ describe 'UF 15 - Pará' do
497
+ before { subject.ibge_code_of_issuer_uf = '15' }
498
+ it "Deve utilizar o servidor SVRS para emissão normal" do
499
+ must_use_SVAN
500
+ end
501
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
502
+ must_use_SVCRS_for_SVC_mode
503
+ end
504
+ end
505
+ describe 'UF 25 - Paraíba' do
506
+ before { subject.ibge_code_of_issuer_uf = '25' }
507
+ it "Deve utilizar o servidor SVRS para emissão normal" do
508
+ must_use_SVRS
509
+ end
510
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
511
+ must_use_SVCAN_for_SVC_mode
512
+ end
513
+ end
514
+ describe 'UF 41 - Paraná' do
515
+ before { subject.ibge_code_of_issuer_uf = '41' }
516
+ it "configurações para e emissão normal no ambiente de produção" do
517
+ subject.env = :production
518
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe.fazenda.pr.gov.br/nfe/NFeRetAutorizacao3?wsdl'
519
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
520
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
521
+ client_wsdl.globals[:follow_redirects].must_equal false
522
+ client_wsdl.globals[:headers].must_be_nil
523
+ end
524
+ it "configurações para e emissão normal no ambiente de teste" do
525
+ subject.env = :test
526
+ client_wsdl.globals[:wsdl].must_equal 'https://homologacao.nfe.fazenda.pr.gov.br/nfe/NFeRetAutorizacao3?wsdl'
527
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
528
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
529
+ client_wsdl.globals[:follow_redirects].must_equal false
530
+ client_wsdl.globals[:headers].must_be_nil
531
+ end
532
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
533
+ must_use_SVCRS_for_SVC_mode
534
+ end
535
+ end
536
+ describe 'UF 26 - Pernambuco' do
537
+ before { subject.ibge_code_of_issuer_uf = '26' }
538
+ it "configurações para e emissão normal no ambiente de produção" do
539
+ subject.env = :production
540
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeRetAutorizacao?wsdl'
541
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
542
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
543
+ client_wsdl.globals[:follow_redirects].must_equal false
544
+ client_wsdl.globals[:headers].must_be_nil
545
+ end
546
+ it "configurações para e emissão normal no ambiente de teste" do
547
+ subject.env = :test
548
+ client_wsdl.globals[:wsdl].must_equal 'https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeRetAutorizacao?wsdl'
549
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
550
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
551
+ client_wsdl.globals[:follow_redirects].must_equal false
552
+ client_wsdl.globals[:headers].must_be_nil
553
+ end
554
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
555
+ must_use_SVCRS_for_SVC_mode
556
+ end
557
+ end
558
+ describe 'UF 22 - Piauí' do
559
+ before { subject.ibge_code_of_issuer_uf = '22' }
560
+ it "Deve utilizar o servidor SVRS para emissão normal" do
561
+ must_use_SVRS
562
+ end
563
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
564
+ must_use_SVCRS_for_SVC_mode
565
+ end
566
+ end
567
+ describe 'UF 33 - Rio de Janeiro' do
568
+ before { subject.ibge_code_of_issuer_uf = '33' }
569
+ it "Deve utilizar o servidor SVRS para emissão normal" do
570
+ must_use_SVRS
571
+ end
572
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
573
+ must_use_SVCAN_for_SVC_mode
574
+ end
575
+ end
576
+ describe 'UF 24 - Rio Grande do Norte' do
577
+ before { subject.ibge_code_of_issuer_uf = '24' }
578
+ it "Deve utilizar o servidor SVRS para emissão normal" do
579
+ must_use_SVRS
580
+ end
581
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
582
+ must_use_SVCAN_for_SVC_mode
583
+ end
584
+ end
585
+ describe 'UF 43 - Rio Grande do Sul' do
586
+ before { subject.ibge_code_of_issuer_uf = '43' }
587
+ it "configurações para e emissão normal no ambiente de produção" do
588
+ subject.env = :production
589
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe.sefazrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx?wsdl'
590
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
591
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
592
+ client_wsdl.globals[:follow_redirects].must_equal false
593
+ client_wsdl.globals[:headers].must_be_nil
594
+ end
595
+ it "configurações para e emissão normal no ambiente de teste" do
596
+ subject.env = :test
597
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx?wsdl'
598
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
599
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
600
+ client_wsdl.globals[:follow_redirects].must_equal false
601
+ client_wsdl.globals[:headers].must_be_nil
602
+ end
603
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
604
+ must_use_SVCAN_for_SVC_mode
605
+ end
606
+ end
607
+ describe 'UF 11 - Rondônia' do
608
+ before { subject.ibge_code_of_issuer_uf = '11' }
609
+ it "Deve utilizar o servidor SVRS para emissão normal" do
610
+ must_use_SVRS
611
+ end
612
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
613
+ must_use_SVCAN_for_SVC_mode
614
+ end
615
+ end
616
+ describe 'UF 14 - Roraima' do
617
+ before { subject.ibge_code_of_issuer_uf = '14' }
618
+ it "Deve utilizar o servidor SVRS para emissão normal" do
619
+ must_use_SVRS
620
+ end
621
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
622
+ must_use_SVCAN_for_SVC_mode
623
+ end
624
+ end
625
+ describe 'UF 42 - Santa Catarina' do
626
+ before { subject.ibge_code_of_issuer_uf = '42' }
627
+ it "Deve utilizar o servidor SVRS para emissão normal" do
628
+ must_use_SVRS
629
+ end
630
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
631
+ must_use_SVCAN_for_SVC_mode
632
+ end
633
+ end
634
+ describe 'UF 35 - São Paulo' do
635
+ before { subject.ibge_code_of_issuer_uf = '35' }
636
+ it "configurações para e emissão normal no ambiente de produção" do
637
+ subject.env = :production
638
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe.fazenda.sp.gov.br/ws/nferetautorizacao.asmx?wsdl'
639
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
640
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
641
+ client_wsdl.globals[:follow_redirects].must_equal false
642
+ client_wsdl.globals[:headers].must_be_nil
643
+ end
644
+ it "configurações para e emissão normal no ambiente de teste" do
645
+ subject.env = :test
646
+ client_wsdl.globals[:wsdl].must_equal 'https://homologacao.nfe.fazenda.sp.gov.br/ws/nferetautorizacao.asmx?wsdl'
647
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
648
+ client_wsdl.globals[:ssl_version].must_equal :TLSv1
649
+ client_wsdl.globals[:follow_redirects].must_equal false
650
+ client_wsdl.globals[:headers].must_be_nil
651
+ end
652
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
653
+ must_use_SVCAN_for_SVC_mode
654
+ end
655
+ end
656
+ describe 'UF 28 - Sergipe' do
657
+ before { subject.ibge_code_of_issuer_uf = '28' }
658
+ it "Deve utilizar o servidor SVRS para emissão normal" do
659
+ must_use_SVRS
660
+ end
661
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
662
+ must_use_SVCAN_for_SVC_mode
663
+ end
664
+ end
665
+ describe 'UF 17 - Tocantins' do
666
+ before { subject.ibge_code_of_issuer_uf = '17' }
667
+ it "Deve utilizar o servidor SVRS para emissão normal" do
668
+ must_use_SVRS
669
+ end
670
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
671
+ must_use_SVCAN_for_SVC_mode
672
+ end
673
+ end
245
674
  end
675
+ end
246
676
 
247
- it "Quando tiver duas notas autorizadas" do
248
- subject.original_xml = original_xml_lot
249
- response_xml = read_fixture('product/response/v3.10/nfe_ret_autorizacao/lot_ok_two_invoice_ok.xml')
250
- savon.expects(gateway.operation_retorno_autorizacao).returns(response_xml)
251
- subject.request
252
- response = subject.response
253
-
254
- response.environment.must_equal :test
255
- response.app_version.must_equal 'SVRS201611281548'
256
- response.processed_at.must_equal Time.parse('2016-12-23T15:02:01-02:00')
257
- response.protocol.must_equal '423002169623858'
258
- response.request_status.must_equal :success
259
- response.processing_status_code.must_equal '104'
260
- response.processing_status_motive.must_equal 'Lote processado'
261
- response.processing_status.must_equal :success
262
-
263
- response.notas_fiscais.size.must_equal 2
264
-
265
- nf1 = response.notas_fiscais[0]
266
- nf1.chave_de_acesso.must_equal '42161208897094000155550010000000021201601013'
267
- nf1.xml.must_equal read_fixture('product/response/v3.10/nfe_ret_autorizacao/nfe/nf_2_with_protocol.xml')
268
- nf1.protocol.must_equal '342160000785247'
269
- nf1.digest_value.must_equal 'AcoglfmS7KCjv/XaaYO0T9ohlqM='
270
- nf1.processed_at.must_equal Time.parse('2016-12-20T16:11:28-02:00')
271
- nf1.status_code.must_equal '100'
272
- nf1.status_motive.must_equal 'Autorizado o uso da NF-e'
273
- nf1.status.must_equal :success
274
-
275
- nf2 = response.notas_fiscais[1]
276
- nf2.xml.must_equal read_fixture('product/response/v3.10/nfe_ret_autorizacao/nfe/nf_3_with_protocol.xml')
277
- nf2.protocol.must_equal '342160000820227'
278
- nf2.digest_value.must_equal 'eoBzPod21zF9/46jjOS2kLRyTPM='
279
- nf2.processed_at.must_equal Time.parse('2016-12-23T15:02:01-02:00')
280
- nf2.status_code.must_equal '100'
281
- nf2.status_motive.must_equal 'Autorizado o uso da NF-e'
282
- nf2.status.must_equal :success
283
- end
677
+ private
678
+ def must_use_SVRS
679
+ subject.env = :production
680
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx?wsdl'
681
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
682
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
683
+ client_wsdl.globals[:follow_redirects].must_equal false
684
+ client_wsdl.globals[:headers].must_be_nil
685
+
686
+ subject.instance_variable_set(:@client_wsdl, nil)
687
+ subject.env = :test
688
+ client_wsdl = subject.client_wsdl
689
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe-homologacao.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx?wsdl'
690
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
691
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
692
+ client_wsdl.globals[:follow_redirects].must_equal false
693
+ client_wsdl.globals[:headers].must_be_nil
694
+ end
695
+ def must_use_SVAN
696
+ subject.env = :production
697
+ client_wsdl.globals[:wsdl].must_equal 'https://www.sefazvirtual.fazenda.gov.br/NfeRetAutorizacao/NfeRetAutorizacao.asmx?wsdl'
698
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
699
+ client_wsdl.globals[:ssl_version].must_equal :TLSv1
700
+ client_wsdl.globals[:follow_redirects].must_equal false
701
+ client_wsdl.globals[:headers].must_be_nil
702
+
703
+ subject.instance_variable_set(:@client_wsdl, nil)
704
+ subject.env = :test
705
+ client_wsdl = subject.client_wsdl
706
+ client_wsdl.globals[:wsdl].must_equal 'https://hom.sefazvirtual.fazenda.gov.br/NfeRetAutorizacao/NfeRetAutorizacao.asmx?wsdl'
707
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
708
+ client_wsdl.globals[:ssl_version].must_equal :TLSv1
709
+ client_wsdl.globals[:follow_redirects].must_equal false
710
+ client_wsdl.globals[:headers].must_be_nil
711
+ end
284
712
 
285
- it "Se não Encontrar o XML da nota passada por parametro no original_xml não deve add um xml na nota" do
286
- # Aqui é setado o 'XML' de uma nota que não está presente no protocolode autorização
287
- subject.original_xml = '<?xml version="1.0" encoding="utf-8"?><nfeProc xmlns="http://www.portalfiscal.inf.br/nfe"'
288
- subject.original_xml += ' versao="3.10"><NFe xmlns="http://www.portalfiscal.inf.br/nfe"><infNFe Id="NFe421612088970940001555500100000000201234567890" versao="3.10"></NFe></nfeProc>'
289
-
290
- response_xml = read_fixture('product/response/v3.10/nfe_ret_autorizacao/lot_ok_one_invoice_ok.xml')
291
- savon.expects(gateway.operation_retorno_autorizacao).returns(response_xml)
292
- subject.request
293
- response = subject.response
294
-
295
- response.environment.must_equal :test
296
- response.app_version.must_equal 'SVRS201611281548'
297
- response.processed_at.must_equal Time.parse('2016-12-20T16:11:28-02:00')
298
- response.protocol.must_equal '423002169484138'
299
- response.request_status.must_equal :success
300
- response.processing_status_code.must_equal '104'
301
- response.processing_status_motive.must_equal 'Lote processado'
302
- response.processing_status.must_equal :success
303
-
304
- response.notas_fiscais.size.must_equal 1
305
- response.notas_fiscais[0].xml.must_be_nil
306
- end
713
+ def must_use_SVCAN_for_SVC_mode
714
+ subject.assign_attributes(env: :production, tipo_emissao: :svc)
715
+ client_wsdl.globals[:wsdl].must_equal 'https://www.svc.fazenda.gov.br/NfeRetAutorizacao/NfeRetAutorizacao.asmx?wsdl'
716
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
717
+ client_wsdl.globals[:ssl_version].must_equal :TLSv1
718
+ client_wsdl.globals[:follow_redirects].must_equal false
719
+ client_wsdl.globals[:headers].must_be_nil
720
+
721
+ subject.instance_variable_set(:@client_wsdl, nil)
722
+ subject.assign_attributes(env: :test, tipo_emissao: :svc)
723
+ client_wsdl = subject.client_wsdl
724
+ client_wsdl.globals[:wsdl].must_equal 'https://hom.svc.fazenda.gov.br/NfeRetAutorizacao/NfeRetAutorizacao.asmx?wsdl'
725
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
726
+ client_wsdl.globals[:ssl_version].must_equal :TLSv1
727
+ client_wsdl.globals[:follow_redirects].must_equal false
728
+ client_wsdl.globals[:headers].must_be_nil
307
729
  end
308
730
 
309
- end
731
+ def must_use_SVCRS_for_SVC_mode
732
+ subject.assign_attributes(env: :production, tipo_emissao: :svc)
733
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx?wsdl'
734
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
735
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
736
+ client_wsdl.globals[:follow_redirects].must_equal false
737
+ client_wsdl.globals[:headers].must_be_nil
738
+
739
+ subject.instance_variable_set(:@client_wsdl, nil)
740
+ subject.assign_attributes(env: :test, tipo_emissao: :svc)
741
+ client_wsdl = subject.client_wsdl
742
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe-homologacao.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx?wsdl'
743
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
744
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
745
+ client_wsdl.globals[:follow_redirects].must_equal false
746
+ client_wsdl.globals[:headers].must_be_nil
747
+ end
748
+ end