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,13 +2,8 @@ require 'test_helper'
2
2
 
3
3
  describe BrNfe::Product::Operation::NfeAutorizacao do
4
4
  subject { FactoryGirl.build(:product_operation_nfe_autorizacao) }
5
- let(:gateway) { FactoryGirl.build(:product_gateway_web_service_svrs) }
6
5
  let(:nota_fiscal) { FactoryGirl.build(:product_nota_fiscal) }
7
6
 
8
- before do
9
- subject.stubs(:gateway).returns(gateway)
10
- end
11
-
12
7
  describe '#aliases' do
13
8
  it { must_have_alias_attribute :idLote, :numero_lote }
14
9
  it { must_have_alias_attribute :indSinc, :sincrono, true }
@@ -30,26 +25,6 @@ describe BrNfe::Product::Operation::NfeAutorizacao do
30
25
  it "o attr sincrono deve sempre retornar um boolean" do
31
26
  must_returns_a_boolean_for :sincrono
32
27
  end
33
-
34
- it 'o método #url_xmlns deve pegar o valor do método url_xmlns_autorizacao do gateway ' do
35
- gateway.expects(:url_xmlns_autorizacao).returns('http://teste.url_xmlns_autorizacao.com')
36
- subject.url_xmlns.must_equal 'http://teste.url_xmlns_autorizacao.com'
37
- end
38
-
39
- it 'o método #wsdl deve pegar o valor do método wsdl_autorizacao do gateway ' do
40
- gateway.expects(:wsdl_autorizacao).returns('http://teste.wsdl_autorizacao.com')
41
- subject.wsdl.must_equal 'http://teste.wsdl_autorizacao.com'
42
- end
43
-
44
- it 'o método #method_wsdl deve pegar o valor do método operation_autorizacao do gateway ' do
45
- gateway.expects(:operation_autorizacao).returns(:operation_autorizacao)
46
- subject.method_wsdl.must_equal :operation_autorizacao
47
- end
48
-
49
- it 'o método #gateway_xml_version deve pegar o valor do método version_xml_autorizacao do gateway ' do
50
- gateway.expects(:version_xml_autorizacao).returns(:v3_20)
51
- subject.gateway_xml_version.must_equal :v3_20
52
- end
53
28
 
54
29
  describe '#xml_builder' do
55
30
  it "Deve renderizar o XML e setar o valor na variavel @xml_builder" do
@@ -97,32 +72,6 @@ describe BrNfe::Product::Operation::NfeAutorizacao do
97
72
  end
98
73
  end
99
74
 
100
- describe "Validação do XML através do XSD" do
101
- subject { FactoryGirl.build(:product_operation_nfe_autorizacao, :complete) }
102
-
103
- context "Para a versão 3.10" do
104
- before do
105
- gateway.stubs(:version_xml_autorizacao).returns(:v3_10)
106
- end
107
- it "Deve ser válido em ambiente de produção" do
108
- subject.env = :production
109
- subject.valid?.must_equal true, "#{subject.errors.full_messages}"
110
- nfe_must_be_valid_by_schema 'enviNFe_v3.10.xsd'
111
- end
112
- it "Deve ser válido em ambiente de homologação" do
113
- subject.env = :test
114
- subject.valid?.must_equal true, "#{subject.errors.full_messages}"
115
- nfe_must_be_valid_by_schema 'enviNFe_v3.10.xsd'
116
- end
117
- it "Deve ser válido com mais de uma nota" do
118
- nf2 = subject.notas_fiscais[0].dup
119
- nf2.numero_nf = nf2.numero_nf.to_i+1
120
- subject.notas_fiscais << nf2
121
- subject.valid?.must_equal true, "#{subject.errors.full_messages}"
122
- nfe_must_be_valid_by_schema 'enviNFe_v3.10.xsd'
123
- end
124
- end
125
- end
126
75
 
127
76
  describe "Validação da assinatura da NF-e" do
128
77
  it "deve assinar a NF-e corretamente de acordo com uma NF-e já testada e homologada" do
@@ -132,247 +81,735 @@ describe BrNfe::Product::Operation::NfeAutorizacao do
132
81
  aut.content_xml.must_equal read_fixture('product/operation/nfe_autorizacao/nfe_signed.xml')
133
82
  end
134
83
  end
135
-
136
- describe 'REQUEST MUST BE SET RESPONSE CORRECTLY' do
137
- let(:original_xml) { read_fixture('product/response/v3.10/nfe_autorizacao/original_xml.xml') }
138
- let(:response_async_fail) { read_fixture('product/response/v3.10/nfe_autorizacao/async_fail.xml') }
139
- let(:response_async_success) { read_fixture('product/response/v3.10/nfe_autorizacao/async_success.xml') }
140
- let(:response_sync_fail) { read_fixture('product/response/v3.10/nfe_autorizacao/sync_fail.xml') }
141
- let(:response_sync_success) { read_fixture('product/response/v3.10/nfe_autorizacao/sync_success.xml') }
142
- let(:xml_nfe_without_proc) { read_fixture('product/response/v3.10/nfe_autorizacao/nfe/without_proc.xml') }
143
- let(:xml_nfe_with_proc) { read_fixture('product/response/v3.10/nfe_autorizacao/nfe/with_proc.xml') }
84
+ context "Validações para NF-e versão 3.10" do
144
85
  before do
145
- # Seto a chave da NF com o mesmo valor das chaves que estão nas fixtures
146
- nota_fiscal.chave_de_acesso = '42161208897094000155550010000000041201601018'
147
- subject.notas_fiscais = [nota_fiscal]
148
-
149
- savon.mock!
150
- stub_request(:get, subject.wsdl).to_return(status: 200, body: read_fixture('product/wsdl/NfeAutorizacao.xml') )
86
+ subject.assign_attributes(nfe_version: :v3_10, ibge_code_of_issuer_uf: '42', env: :test)
87
+ end
88
+ describe "Validação do XML através do XSD" do
89
+ subject { FactoryGirl.build(:product_operation_nfe_autorizacao, :complete) }
90
+ context "Para a versão 3.10" do
91
+ it "Deve ser válido em ambiente de produção" do
92
+ subject.env = :production
93
+ subject.valid?.must_equal true, "#{subject.errors.full_messages}"
94
+ nfe_must_be_valid_by_schema 'enviNFe_v3.10.xsd'
95
+ end
96
+ it "Deve ser válido em ambiente de homologação" do
97
+ subject.env = :test
98
+ subject.valid?.must_equal true, "#{subject.errors.full_messages}"
99
+ nfe_must_be_valid_by_schema 'enviNFe_v3.10.xsd'
100
+ end
101
+ it "Deve ser válido com mais de uma nota" do
102
+ nf2 = subject.notas_fiscais[0].dup
103
+ nf2.numero_nf = nf2.numero_nf.to_i+1
104
+ subject.notas_fiscais << nf2
105
+ subject.valid?.must_equal true, "#{subject.errors.full_messages}"
106
+ nfe_must_be_valid_by_schema 'enviNFe_v3.10.xsd'
107
+ end
108
+ end
151
109
  end
152
- after { savon.unmock! }
110
+ describe 'REQUEST MUST BE SET RESPONSE CORRECTLY' do
111
+ let(:original_xml) { read_fixture('product/response/v3.10/nfe_autorizacao/original_xml.xml') }
112
+ let(:response_async_fail) { read_fixture('product/response/v3.10/nfe_autorizacao/async_fail.xml') }
113
+ let(:response_async_success) { read_fixture('product/response/v3.10/nfe_autorizacao/async_success.xml') }
114
+ let(:response_sync_fail) { read_fixture('product/response/v3.10/nfe_autorizacao/sync_fail.xml') }
115
+ let(:response_sync_success) { read_fixture('product/response/v3.10/nfe_autorizacao/sync_success.xml') }
116
+ let(:xml_nfe_without_proc) { read_fixture('product/response/v3.10/nfe_autorizacao/nfe/without_proc.xml') }
117
+ let(:xml_nfe_with_proc) { read_fixture('product/response/v3.10/nfe_autorizacao/nfe/with_proc.xml') }
118
+ before do
119
+ # Seto a chave da NF com o mesmo valor das chaves que estão nas fixtures
120
+ nota_fiscal.chave_de_acesso = '42161208897094000155550010000000041201601018'
121
+ subject.notas_fiscais = [nota_fiscal]
153
122
 
154
- context 'Requisições assíncronas' do
155
- it 'Qaundo houver SUCESSO no processamento - deve setar os valores na resposta e na NF' do
156
- # Valido que não deve ter protocolo setado antes da requisição
157
- nota_fiscal.protocol.must_be_nil
123
+ savon.mock!
124
+ stub_request(:get, 'https://nfe-homologacao.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx?wsdl').to_return(status: 200, body: read_fixture('product/wsdl/NfeAutorizacao.xml') )
125
+ end
126
+ after { savon.unmock! }
158
127
 
159
- subject.assign_attributes(sincrono: false)
160
- savon.expects(subject.method_wsdl).returns(response_async_success)
161
- subject.request
162
- response = subject.response
128
+ context 'Requisições assíncronas' do
129
+ it 'Qaundo houver SUCESSO no processamento - deve setar os valores na resposta e na NF' do
130
+ # Valido que não deve ter protocolo setado antes da requisição
131
+ nota_fiscal.protocol.must_be_nil
163
132
 
164
- response.must_be_kind_of BrNfe::Product::Response::NfeAutorizacao
165
-
166
- response.request_status.must_equal :success
167
- response.processing_status.must_equal :success
168
- response.environment.must_equal :test
169
- response.app_version.must_equal 'SVRS201603081012'
170
- response.processed_at.must_equal Time.parse('2016-12-20T10:50:44-02:00')
171
- response.protocol.must_equal '423002169442281'
172
- response.processing_status_code.must_equal '103'
173
- response.processing_status_motive.must_equal 'Lote recebido com sucesso'
174
- response.notas_fiscais.must_equal([nota_fiscal])
175
-
176
- nota_fiscal.status.must_equal :success
177
- nota_fiscal.protocol.must_equal '423002169442281'
178
- nota_fiscal.processed_at.must_equal response.processed_at
179
- nota_fiscal.status_code.must_equal '103'
180
- nota_fiscal.status_motive.must_equal 'Lote recebido com sucesso'
181
- end
182
- it 'Qaundo houver SUCESSO no processamento - e tiver mais de 1 nf deve setar os valores em todas as notas' do
183
- # Valido que não deve ter protocolo setado antes da requisição
184
- nota_fiscal.protocol.must_be_nil
185
- nf2 = nota_fiscal.dup
186
- nf2.assign_attributes(chave_de_acesso: nil, numero_nf: 765)
187
- subject.notas_fiscais = [nota_fiscal, nf2]
188
-
189
- subject.assign_attributes(sincrono: false)
190
- savon.expects(subject.method_wsdl).returns(response_async_success)
191
- subject.request
192
- response = subject.response
193
-
194
- response.must_be_kind_of BrNfe::Product::Response::NfeAutorizacao
195
-
196
- response.request_status.must_equal :success
197
- response.processing_status.must_equal :success
198
- response.environment.must_equal :test
199
- response.app_version.must_equal 'SVRS201603081012'
200
- response.processed_at.must_equal Time.parse('2016-12-20T10:50:44-02:00')
201
- response.protocol.must_equal '423002169442281'
202
- response.processing_status_code.must_equal '103'
203
- response.processing_status_motive.must_equal 'Lote recebido com sucesso'
204
- response.notas_fiscais.must_equal([nota_fiscal, nf2])
205
-
206
- nota_fiscal.protocol.must_equal '423002169442281'
207
- nota_fiscal.status.must_equal :success
208
- nota_fiscal.processed_at.must_equal response.processed_at
209
- nota_fiscal.status_code.must_equal '103'
210
- nota_fiscal.status_motive.must_equal 'Lote recebido com sucesso'
211
-
212
- nf2.protocol.must_equal '423002169442281'
213
- nf2.status.must_equal :success
214
- nf2.processed_at.must_equal response.processed_at
215
- nf2.status_code.must_equal '103'
216
- nf2.status_motive.must_equal 'Lote recebido com sucesso'
133
+ subject.assign_attributes(sincrono: false)
134
+ savon.expects(subject.method_wsdl).returns(response_async_success)
135
+ subject.request
136
+ response = subject.response
137
+
138
+ response.must_be_kind_of BrNfe::Product::Response::NfeAutorizacao
139
+
140
+ response.request_status.must_equal :success
141
+ response.processing_status.must_equal :success
142
+ response.environment.must_equal :test
143
+ response.app_version.must_equal 'SVRS201603081012'
144
+ response.processed_at.must_equal Time.parse('2016-12-20T10:50:44-02:00')
145
+ response.protocol.must_equal '423002169442281'
146
+ response.processing_status_code.must_equal '103'
147
+ response.processing_status_motive.must_equal 'Lote recebido com sucesso'
148
+ response.notas_fiscais.must_equal([nota_fiscal])
149
+
150
+ nota_fiscal.status.must_equal :success
151
+ nota_fiscal.protocol.must_equal '423002169442281'
152
+ nota_fiscal.processed_at.must_equal response.processed_at
153
+ nota_fiscal.status_code.must_equal '103'
154
+ nota_fiscal.status_motive.must_equal 'Lote recebido com sucesso'
155
+ end
156
+ it 'Qaundo houver SUCESSO no processamento - e tiver mais de 1 nf deve setar os valores em todas as notas' do
157
+ # Valido que não deve ter protocolo setado antes da requisição
158
+ nota_fiscal.protocol.must_be_nil
159
+ nf2 = nota_fiscal.dup
160
+ nf2.assign_attributes(chave_de_acesso: nil, numero_nf: 765)
161
+ subject.notas_fiscais = [nota_fiscal, nf2]
162
+
163
+ subject.assign_attributes(sincrono: false)
164
+ savon.expects(subject.method_wsdl).returns(response_async_success)
165
+ subject.request
166
+ response = subject.response
167
+
168
+ response.must_be_kind_of BrNfe::Product::Response::NfeAutorizacao
169
+
170
+ response.request_status.must_equal :success
171
+ response.processing_status.must_equal :success
172
+ response.environment.must_equal :test
173
+ response.app_version.must_equal 'SVRS201603081012'
174
+ response.processed_at.must_equal Time.parse('2016-12-20T10:50:44-02:00')
175
+ response.protocol.must_equal '423002169442281'
176
+ response.processing_status_code.must_equal '103'
177
+ response.processing_status_motive.must_equal 'Lote recebido com sucesso'
178
+ response.notas_fiscais.must_equal([nota_fiscal, nf2])
179
+
180
+ nota_fiscal.protocol.must_equal '423002169442281'
181
+ nota_fiscal.status.must_equal :success
182
+ nota_fiscal.processed_at.must_equal response.processed_at
183
+ nota_fiscal.status_code.must_equal '103'
184
+ nota_fiscal.status_motive.must_equal 'Lote recebido com sucesso'
185
+
186
+ nf2.protocol.must_equal '423002169442281'
187
+ nf2.status.must_equal :success
188
+ nf2.processed_at.must_equal response.processed_at
189
+ nf2.status_code.must_equal '103'
190
+ nf2.status_motive.must_equal 'Lote recebido com sucesso'
191
+ end
192
+ it 'XDD Qaundo NÃO houver SUCESSO no processamento - deve setar os valores em todas as notas' do
193
+ # Valido que não deve ter protocolo setado antes da requisição
194
+ nota_fiscal.protocol.must_be_nil
195
+ nf2 = nota_fiscal.dup
196
+ nf2.assign_attributes(chave_de_acesso: nil, numero_nf: 765)
197
+ subject.notas_fiscais = [nota_fiscal, nf2]
198
+
199
+ subject.assign_attributes(sincrono: false)
200
+ savon.expects(subject.method_wsdl).returns(response_async_fail)
201
+ subject.request
202
+ response = subject.response
203
+
204
+ response.must_be_kind_of BrNfe::Product::Response::NfeAutorizacao
205
+
206
+ response.request_status.must_equal :success
207
+ response.processing_status.must_equal :error
208
+ response.environment.must_equal :test
209
+ response.app_version.must_equal 'SVRS201603081012'
210
+ response.processed_at.must_equal Time.parse('2016-12-27T16:36:27-02:00')
211
+ response.protocol.must_be_nil
212
+ response.processing_status_code.must_equal '225'
213
+ response.processing_status_motive.must_equal 'Rejeicao: Falha no Schema XML do lote de NFe'
214
+ response.notas_fiscais.must_equal([nota_fiscal, nf2])
215
+
216
+ nota_fiscal.protocol.must_be_nil
217
+ nota_fiscal.status.must_be_nil
218
+ nota_fiscal.processed_at.must_be_nil
219
+ nota_fiscal.status_code.must_be_nil
220
+ nota_fiscal.status_motive.must_be_nil
221
+
222
+ nf2.protocol.must_be_nil
223
+ nf2.status.must_be_nil
224
+ nf2.processed_at.must_be_nil
225
+ nf2.status_code.must_be_nil
226
+ nf2.status_motive.must_be_nil
227
+ end
217
228
  end
218
- it 'Qaundo NÃO houver SUCESSO no processamento - deve setar os valores em todas as notas' do
219
- # Valido que não deve ter protocolo setado antes da requisição
220
- nota_fiscal.protocol.must_be_nil
221
- nf2 = nota_fiscal.dup
222
- nf2.assign_attributes(chave_de_acesso: nil, numero_nf: 765)
223
- subject.notas_fiscais = [nota_fiscal, nf2]
224
-
225
- subject.assign_attributes(sincrono: false)
226
- savon.expects(subject.method_wsdl).returns(response_async_fail)
227
- subject.request
228
- response = subject.response
229
-
230
- response.must_be_kind_of BrNfe::Product::Response::NfeAutorizacao
231
-
232
- response.request_status.must_equal :success
233
- response.processing_status.must_equal :error
234
- response.environment.must_equal :test
235
- response.app_version.must_equal 'SVRS201603081012'
236
- response.processed_at.must_equal Time.parse('2016-12-27T16:36:27-02:00')
237
- response.protocol.must_be_empty
238
- response.processing_status_code.must_equal '225'
239
- response.processing_status_motive.must_equal 'Rejeicao: Falha no Schema XML do lote de NFe'
240
- response.notas_fiscais.must_equal([nota_fiscal, nf2])
241
-
242
- nota_fiscal.protocol.must_be_nil
243
- nota_fiscal.status.must_be_nil
244
- nota_fiscal.processed_at.must_be_nil
245
- nota_fiscal.status_code.must_be_nil
246
- nota_fiscal.status_motive.must_be_nil
247
-
248
- nf2.protocol.must_be_nil
249
- nf2.status.must_be_nil
250
- nf2.processed_at.must_be_nil
251
- nf2.status_code.must_be_nil
252
- nf2.status_motive.must_be_nil
229
+ context 'Requisições síncronas' do
230
+ it 'Qaundo houver SUCESSO e a NF-e tem xml setado - deve setar os valores na resposta e na NF deve ajustar o xml para colocar a tag nfeProc' do
231
+ # Valido que não deve ter protocolo setado antes da requisição
232
+ nota_fiscal.protocol.must_be_nil
233
+
234
+ subject.assign_attributes(sincrono: true)
235
+ savon.expects(subject.method_wsdl).returns(response_sync_success)
236
+ subject.request
237
+
238
+ # Antes de chamar a resposta a NF-e deve ter o XML da NF
239
+ nota_fiscal.xml[0..63].must_equal '<NFe xmlns="http://www.portalfiscal.inf.br/nfe"><infNFe Id="NFe'
240
+ nota_fiscal.xml[-6..-1].must_equal '</NFe>'
241
+
242
+ # Agora vou setar um XML fixo na NF para que seja
243
+ # modificado conforme o esperado. Não vou usar o xml original
244
+ # pois o mesmo pode ser modificado conforme novas regras vão surgindo.
245
+ # e não é o objetivo desse teste validar as regras de campos do xml, e sim
246
+ # se está ajustando o valor corretamente.
247
+ nota_fiscal.xml = xml_nfe_without_proc
248
+
249
+ # Ao chamar o response irá setar a tag <nfeProc> no XML da NF-e
250
+ # e também irá adicionar o protocolo de autorização
251
+ response = subject.response
252
+
253
+ response.request_status.must_equal :success
254
+ response.processing_status.must_equal :success
255
+ response.environment.must_equal :test
256
+ response.app_version.must_equal 'SVRS201603081012'
257
+ response.processed_at.must_equal Time.parse('2016-12-27T16:39:28-02:00')
258
+ response.protocol.must_equal '342160000822005'
259
+ response.processing_status_code.must_equal '104'
260
+ response.processing_status_motive.must_equal 'Lote processado'
261
+ response.notas_fiscais.must_equal([nota_fiscal])
262
+
263
+ nota_fiscal.status.must_equal :success
264
+ nota_fiscal.protocol.must_equal '342160000822005'
265
+ nota_fiscal.processed_at.must_equal Time.parse('2016-12-27T16:39:27-02:00')
266
+ nota_fiscal.status_code.must_equal '100'
267
+ nota_fiscal.status_motive.must_equal 'Autorizado o uso da NF-e'
268
+
269
+ # Deve adicionar a tag <nfeProc> com o protocolo de autorização dentro
270
+ nota_fiscal.xml.must_equal xml_nfe_with_proc
271
+ end
272
+
273
+ it 'Qaundo houver SUCESSO e a NF-e NÃO TEM xml setado, deve considerar o xml do atributo original_xml para buscar a nota e setar o protocolo no XML' do
274
+ nota_fiscal.protocol = nil
275
+ nota_fiscal.xml = nil
276
+
277
+ subject.assign_attributes(sincrono: true)
278
+
279
+ # É setado um XML fixo no builder para que esteja de acordo com as regras do teste
280
+ subject.instance_variable_set(:@xml_builder, original_xml)
281
+ savon.expects(subject.method_wsdl).returns(response_sync_success)
282
+ subject.request
283
+
284
+ # Antes de chamar a resposta a NF-e não deve ter XML setado
285
+ nota_fiscal.xml.must_be_nil
286
+
287
+ # Ao chamar o response irá setar a tag <nfeProc> no XML da NF-e
288
+ # e também irá adicionar o protocolo de autorização.
289
+ # Irá considerar o XML que for setado em original_xml
290
+ response = subject.response
291
+
292
+ response.request_status.must_equal :success
293
+ response.processing_status.must_equal :success
294
+ response.environment.must_equal :test
295
+ response.app_version.must_equal 'SVRS201603081012'
296
+ response.processed_at.must_equal Time.parse('2016-12-27T16:39:28-02:00')
297
+ response.protocol.must_equal '342160000822005'
298
+ response.processing_status_code.must_equal '104'
299
+ response.processing_status_motive.must_equal 'Lote processado'
300
+ response.notas_fiscais.must_equal([nota_fiscal])
301
+
302
+ nota_fiscal.status.must_equal :success
303
+ nota_fiscal.protocol.must_equal '342160000822005'
304
+ nota_fiscal.processed_at.must_equal Time.parse('2016-12-27T16:39:27-02:00')
305
+ nota_fiscal.status_code.must_equal '100'
306
+ nota_fiscal.status_motive.must_equal 'Autorizado o uso da NF-e'
307
+
308
+ # Deve adicionar a tag <nfeProc> com o protocolo de autorização dentro
309
+ nota_fiscal.xml.must_equal xml_nfe_with_proc
310
+ end
311
+
312
+ it 'Qaundo houver ERRO deve setaro os valores da resposta e não pode alterar o XML da nota' do
313
+ nota_fiscal.protocol = nil
314
+ nota_fiscal.xml = xml_nfe_without_proc
315
+
316
+ subject.assign_attributes(sincrono: true)
317
+
318
+ # É setado um XML fixo no builder para que esteja de acordo com as regras do teste
319
+ subject.instance_variable_set(:@xml_builder, original_xml)
320
+ savon.expects(subject.method_wsdl).returns(response_sync_fail)
321
+ subject.request
322
+
323
+ # Antes de chamar a resposta a NF-e não deve ter XML setado
324
+ nota_fiscal.xml.wont_be_nil
325
+
326
+ # Ao chamar o response irá setar a tag <nfeProc> no XML da NF-e
327
+ # e também irá adicionar o protocolo de autorização.
328
+ # Irá considerar o XML que for setado em original_xml
329
+ response = subject.response
330
+
331
+ response.request_status.must_equal :success
332
+ response.processing_status.must_equal :success
333
+ response.environment.must_equal :test
334
+ response.app_version.must_equal 'SVRS201603081012'
335
+ response.processed_at.must_equal Time.parse('2016-12-27T16:42:12-02:00')
336
+ response.protocol.must_equal ''
337
+ response.processing_status_code.must_equal '104'
338
+ response.processing_status_motive.must_equal 'Lote processado'
339
+ response.notas_fiscais.must_equal([nota_fiscal])
340
+
341
+ nota_fiscal.status.must_equal :error
342
+ nota_fiscal.protocol.must_equal ''
343
+ nota_fiscal.processed_at.must_equal Time.parse('2016-12-27T16:37:12-02:00')
344
+ nota_fiscal.status_code.must_equal '204'
345
+ nota_fiscal.status_motive.must_equal 'Rejeicao: Duplicidade de NF-e [chNFe:42161208897094000155550010000000041201601018]'
346
+
347
+ # Não deve mudar o xml original da nota
348
+ nota_fiscal.xml.must_equal xml_nfe_without_proc
349
+ end
253
350
  end
254
351
  end
255
- context 'Requisições síncronas' do
256
- it 'Qaundo houver SUCESSO e a NF-e tem xml setado - deve setar os valores na resposta e na NF deve ajustar o xml para colocar a tag nfeProc' do
257
- # Valido que não deve ter protocolo setado antes da requisição
258
- nota_fiscal.protocol.must_be_nil
259
-
260
- subject.assign_attributes(sincrono: true)
261
- savon.expects(subject.method_wsdl).returns(response_sync_success)
262
- subject.request
263
-
264
- # Antes de chamar a resposta a NF-e deve ter o XML da NF
265
- nota_fiscal.xml[0..63].must_equal '<NFe xmlns="http://www.portalfiscal.inf.br/nfe"><infNFe Id="NFe'
266
- nota_fiscal.xml[-6..-1].must_equal '</NFe>'
267
-
268
- # Agora vou setar um XML fixo na NF para que seja
269
- # modificado conforme o esperado. Não vou usar o xml original
270
- # pois o mesmo pode ser modificado conforme novas regras vão surgindo.
271
- # e não é o objetivo desse teste validar as regras de campos do xml, e sim
272
- # se está ajustando o valor corretamente.
273
- nota_fiscal.xml = xml_nfe_without_proc
274
-
275
- # Ao chamar o response irá setar a tag <nfeProc> no XML da NF-e
276
- # e também irá adicionar o protocolo de autorização
277
- response = subject.response
278
-
279
- response.request_status.must_equal :success
280
- response.processing_status.must_equal :success
281
- response.environment.must_equal :test
282
- response.app_version.must_equal 'SVRS201603081012'
283
- response.processed_at.must_equal Time.parse('2016-12-27T16:39:28-02:00')
284
- response.protocol.must_equal '342160000822005'
285
- response.processing_status_code.must_equal '104'
286
- response.processing_status_motive.must_equal 'Lote processado'
287
- response.notas_fiscais.must_equal([nota_fiscal])
288
-
289
- nota_fiscal.status.must_equal :success
290
- nota_fiscal.protocol.must_equal '342160000822005'
291
- nota_fiscal.processed_at.must_equal Time.parse('2016-12-27T16:39:27-02:00')
292
- nota_fiscal.status_code.must_equal '100'
293
- nota_fiscal.status_motive.must_equal 'Autorizado o uso da NF-e'
294
-
295
- # Deve adicionar a tag <nfeProc> com o protocolo de autorização dentro
296
- nota_fiscal.xml.must_equal xml_nfe_with_proc
352
+ describe 'Configurações por UF dos parametros para instanciar o client Soap' do
353
+ let(:client_wsdl) { subject.client_wsdl }
354
+ describe 'UF 12 - Acre' do
355
+ before { subject.ibge_code_of_issuer_uf = '12' }
356
+ it "Deve utilizar o servidor SVRS para emissão normal" do
357
+ must_use_SVRS
358
+ end
359
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
360
+ must_use_SVCAN_for_SVC_mode
361
+ end
297
362
  end
298
-
299
- it 'Qaundo houver SUCESSO e a NF-e NÃO TEM xml setado, deve considerar o xml do atributo original_xml para buscar a nota e setar o protocolo no XML' do
300
- nota_fiscal.protocol = nil
301
- nota_fiscal.xml = nil
302
-
303
- subject.assign_attributes(sincrono: true)
304
-
305
- # É setado um XML fixo no builder para que esteja de acordo com as regras do teste
306
- subject.instance_variable_set(:@xml_builder, original_xml)
307
- savon.expects(subject.method_wsdl).returns(response_sync_success)
308
- subject.request
309
-
310
- # Antes de chamar a resposta a NF-e não deve ter XML setado
311
- nota_fiscal.xml.must_be_nil
312
-
313
- # Ao chamar o response irá setar a tag <nfeProc> no XML da NF-e
314
- # e também irá adicionar o protocolo de autorização.
315
- # Irá considerar o XML que for setado em original_xml
316
- response = subject.response
317
-
318
- response.request_status.must_equal :success
319
- response.processing_status.must_equal :success
320
- response.environment.must_equal :test
321
- response.app_version.must_equal 'SVRS201603081012'
322
- response.processed_at.must_equal Time.parse('2016-12-27T16:39:28-02:00')
323
- response.protocol.must_equal '342160000822005'
324
- response.processing_status_code.must_equal '104'
325
- response.processing_status_motive.must_equal 'Lote processado'
326
- response.notas_fiscais.must_equal([nota_fiscal])
327
-
328
- nota_fiscal.status.must_equal :success
329
- nota_fiscal.protocol.must_equal '342160000822005'
330
- nota_fiscal.processed_at.must_equal Time.parse('2016-12-27T16:39:27-02:00')
331
- nota_fiscal.status_code.must_equal '100'
332
- nota_fiscal.status_motive.must_equal 'Autorizado o uso da NF-e'
333
-
334
- # Deve adicionar a tag <nfeProc> com o protocolo de autorização dentro
335
- nota_fiscal.xml.must_equal xml_nfe_with_proc
363
+ describe 'UF 27 - Alagoas' do
364
+ before { subject.ibge_code_of_issuer_uf = '27' }
365
+ it "Deve utilizar o servidor SVRS para emissão normal" do
366
+ must_use_SVRS
367
+ end
368
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
369
+ must_use_SVCAN_for_SVC_mode
370
+ end
336
371
  end
337
-
338
- it 'Qaundo houver ERRO deve setaro os valores da resposta e não pode alterar o XML da nota' do
339
- nota_fiscal.protocol = nil
340
- nota_fiscal.xml = xml_nfe_without_proc
341
-
342
- subject.assign_attributes(sincrono: true)
343
-
344
- # É setado um XML fixo no builder para que esteja de acordo com as regras do teste
345
- subject.instance_variable_set(:@xml_builder, original_xml)
346
- savon.expects(subject.method_wsdl).returns(response_sync_fail)
347
- subject.request
348
-
349
- # Antes de chamar a resposta a NF-e não deve ter XML setado
350
- nota_fiscal.xml.wont_be_nil
351
-
352
- # Ao chamar o response irá setar a tag <nfeProc> no XML da NF-e
353
- # e também irá adicionar o protocolo de autorização.
354
- # Irá considerar o XML que for setado em original_xml
355
- response = subject.response
356
-
357
- response.request_status.must_equal :success
358
- response.processing_status.must_equal :success
359
- response.environment.must_equal :test
360
- response.app_version.must_equal 'SVRS201603081012'
361
- response.processed_at.must_equal Time.parse('2016-12-27T16:42:12-02:00')
362
- response.protocol.must_equal ''
363
- response.processing_status_code.must_equal '104'
364
- response.processing_status_motive.must_equal 'Lote processado'
365
- response.notas_fiscais.must_equal([nota_fiscal])
366
-
367
- nota_fiscal.status.must_equal :error
368
- nota_fiscal.protocol.must_equal ''
369
- nota_fiscal.processed_at.must_equal Time.parse('2016-12-27T16:37:12-02:00')
370
- nota_fiscal.status_code.must_equal '204'
371
- nota_fiscal.status_motive.must_equal 'Rejeicao: Duplicidade de NF-e [chNFe:42161208897094000155550010000000041201601018]'
372
-
373
- # Não deve mudar o xml original da nota
374
- nota_fiscal.xml.must_equal xml_nfe_without_proc
372
+ describe 'UF 16 - Amapá' do
373
+ before { subject.ibge_code_of_issuer_uf = '16' }
374
+ it "Deve utilizar o servidor SVRS para emissão normal" do
375
+ must_use_SVRS
376
+ end
377
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
378
+ must_use_SVCAN_for_SVC_mode
379
+ end
380
+ end
381
+ describe 'UF 13 - Amazonas' do
382
+ before { subject.ibge_code_of_issuer_uf = '13' }
383
+ it "configurações para e emissão normal no ambiente de produção" do
384
+ subject.env = :production
385
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe.sefaz.am.gov.br/services2/services/NfeAutorizacao?wsdl'
386
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
387
+ client_wsdl.globals[:ssl_version].must_equal :TLSv1
388
+ client_wsdl.globals[:follow_redirects].must_equal false
389
+ client_wsdl.globals[:headers].must_be_nil
390
+ end
391
+ it "configurações para e emissão normal no ambiente de teste" do
392
+ subject.env = :test
393
+ client_wsdl.globals[:wsdl].must_equal 'https://homnfe.sefaz.am.gov.br/services2/services/NfeAutorizacao?wsdl'
394
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
395
+ client_wsdl.globals[:ssl_version].must_equal :TLSv1
396
+ client_wsdl.globals[:follow_redirects].must_equal false
397
+ client_wsdl.globals[:headers].must_be_nil
398
+ end
399
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
400
+ must_use_SVCRS_for_SVC_mode
401
+ end
402
+ end
403
+ describe 'UF 29 - Bahia' do
404
+ before { subject.ibge_code_of_issuer_uf = '29' }
405
+ it "configurações para e emissão normal no ambiente de produção" do
406
+ subject.env = :production
407
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe.sefaz.ba.gov.br/webservices/NfeAutorizacao/NfeAutorizacao.asmx?wsdl'
408
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
409
+ client_wsdl.globals[:ssl_version].must_equal :TLSv1
410
+ client_wsdl.globals[:follow_redirects].must_equal false
411
+ client_wsdl.globals[:headers].must_be_nil
412
+ end
413
+ it "configurações para e emissão normal no ambiente de teste" do
414
+ subject.env = :test
415
+ client_wsdl.globals[:wsdl].must_equal 'https://hnfe.sefaz.ba.gov.br/webservices/NfeAutorizacao/NfeAutorizacao.asmx?wsdl'
416
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
417
+ client_wsdl.globals[:ssl_version].must_equal :TLSv1
418
+ client_wsdl.globals[:follow_redirects].must_equal false
419
+ client_wsdl.globals[:headers].must_be_nil
420
+ end
421
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
422
+ must_use_SVCRS_for_SVC_mode
423
+ end
424
+ end
425
+ describe 'UF 23 - Ceará' do
426
+ before { subject.ibge_code_of_issuer_uf = '23' }
427
+ it "configurações para e emissão normal no ambiente de produção" do
428
+ subject.env = :production
429
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe.sefaz.ce.gov.br/nfe2/services/NfeAutorizacao?wsdl'
430
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
431
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
432
+ client_wsdl.globals[:follow_redirects].must_equal false
433
+ client_wsdl.globals[:headers].must_be_nil
434
+ end
435
+ it "configurações para e emissão normal no ambiente de teste" do
436
+ subject.env = :test
437
+ client_wsdl.globals[:wsdl].must_equal 'https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeAutorizacao?wsdl'
438
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
439
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
440
+ client_wsdl.globals[:follow_redirects].must_equal false
441
+ client_wsdl.globals[:headers].must_be_nil
442
+ end
443
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
444
+ must_use_SVCRS_for_SVC_mode
445
+ end
446
+ end
447
+ describe 'UF 53 - Distrito Federal' do
448
+ before { subject.ibge_code_of_issuer_uf = '53' }
449
+ it "Deve utilizar o servidor SVRS para emissão normal" do
450
+ must_use_SVRS
451
+ end
452
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
453
+ must_use_SVCAN_for_SVC_mode
454
+ end
455
+ end
456
+ describe 'UF 32 - Espírito Santo' do
457
+ before { subject.ibge_code_of_issuer_uf = '32' }
458
+ it "Deve utilizar o servidor SVRS para emissão normal" do
459
+ must_use_SVRS
460
+ end
461
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
462
+ must_use_SVCAN_for_SVC_mode
463
+ end
464
+ end
465
+ describe 'UF 52 - Goiás' do
466
+ before { subject.ibge_code_of_issuer_uf = '52' }
467
+ it "configurações para e emissão normal no ambiente de produção" do
468
+ subject.env = :production
469
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeAutorizacao?wsdl'
470
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
471
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
472
+ client_wsdl.globals[:follow_redirects].must_equal true
473
+ client_wsdl.globals[:headers].must_equal( {:'Content-Type' => 'application/soap+xml; charset=utf-8'} )
474
+ end
475
+ it "configurações para e emissão normal no ambiente de teste" do
476
+ subject.env = :test
477
+ client_wsdl.globals[:wsdl].must_equal 'https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeAutorizacao?wsdl'
478
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
479
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
480
+ client_wsdl.globals[:follow_redirects].must_equal true
481
+ client_wsdl.globals[:headers].must_equal( {:'Content-Type' => 'application/soap+xml; charset=utf-8'} )
482
+ end
483
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
484
+ must_use_SVCRS_for_SVC_mode
485
+ end
486
+ end
487
+ describe 'UF 21 - Maranhão' do
488
+ before { subject.ibge_code_of_issuer_uf = '21' }
489
+ it "Deve utilizar o servidor SVRS para emissão normal" do
490
+ must_use_SVAN
491
+ end
492
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
493
+ must_use_SVCRS_for_SVC_mode
494
+ end
495
+ end
496
+ describe 'UF 51 - Mato Grosso' do
497
+ before { subject.ibge_code_of_issuer_uf = '51' }
498
+ it "configurações para e emissão normal no ambiente de produção" do
499
+ subject.env = :production
500
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeAutorizacao?wsdl'
501
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
502
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
503
+ client_wsdl.globals[:follow_redirects].must_equal false
504
+ client_wsdl.globals[:headers].must_be_nil
505
+ end
506
+ it "configurações para e emissão normal no ambiente de teste" do
507
+ subject.env = :test
508
+ client_wsdl.globals[:wsdl].must_equal 'https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeAutorizacao?wsdl'
509
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
510
+ client_wsdl.globals[:ssl_version].must_equal :TLSv1
511
+ client_wsdl.globals[:follow_redirects].must_equal false
512
+ client_wsdl.globals[:headers].must_be_nil
513
+ end
514
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
515
+ must_use_SVCRS_for_SVC_mode
516
+ end
517
+ end
518
+ describe 'UF 50 - Mato Grosso do Sul' do
519
+ before { subject.ibge_code_of_issuer_uf = '50' }
520
+ it "configurações para e emissão normal no ambiente de produção" do
521
+ subject.env = :production
522
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe.fazenda.ms.gov.br/producao/services2/NfeAutorizacao?wsdl'
523
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
524
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
525
+ client_wsdl.globals[:follow_redirects].must_equal false
526
+ client_wsdl.globals[:headers].must_be_nil
527
+ end
528
+ it "configurações para e emissão normal no ambiente de teste" do
529
+ subject.env = :test
530
+ client_wsdl.globals[:wsdl].must_equal 'https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeAutorizacao?wsdl'
531
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
532
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
533
+ client_wsdl.globals[:follow_redirects].must_equal false
534
+ client_wsdl.globals[:headers].must_be_nil
535
+ end
536
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
537
+ must_use_SVCRS_for_SVC_mode
538
+ end
539
+ end
540
+ describe 'UF 31 - Minas Gerais' do
541
+ before { subject.ibge_code_of_issuer_uf = '31' }
542
+ it "configurações para e emissão normal no ambiente de produção" do
543
+ subject.env = :production
544
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe.fazenda.mg.gov.br/nfe2/services/NfeAutorizacao?wsdl'
545
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
546
+ client_wsdl.globals[:ssl_version].must_equal :TLSv1
547
+ client_wsdl.globals[:follow_redirects].must_equal false
548
+ client_wsdl.globals[:headers].must_be_nil
549
+ end
550
+ it "configurações para e emissão normal no ambiente de teste" do
551
+ subject.env = :test
552
+ client_wsdl.globals[:wsdl].must_equal 'https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeAutorizacao?wsdl'
553
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
554
+ client_wsdl.globals[:ssl_version].must_equal :TLSv1
555
+ client_wsdl.globals[:follow_redirects].must_equal false
556
+ client_wsdl.globals[:headers].must_be_nil
557
+ end
558
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
559
+ must_use_SVCAN_for_SVC_mode
560
+ end
561
+ end
562
+ describe 'UF 15 - Pará' do
563
+ before { subject.ibge_code_of_issuer_uf = '15' }
564
+ it "Deve utilizar o servidor SVRS para emissão normal" do
565
+ must_use_SVAN
566
+ end
567
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
568
+ must_use_SVCRS_for_SVC_mode
569
+ end
570
+ end
571
+ describe 'UF 25 - Paraíba' do
572
+ before { subject.ibge_code_of_issuer_uf = '25' }
573
+ it "Deve utilizar o servidor SVRS para emissão normal" do
574
+ must_use_SVRS
575
+ end
576
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
577
+ must_use_SVCAN_for_SVC_mode
578
+ end
579
+ end
580
+ describe 'UF 41 - Paraná' do
581
+ before { subject.ibge_code_of_issuer_uf = '41' }
582
+ it "configurações para e emissão normal no ambiente de produção" do
583
+ subject.env = :production
584
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe.fazenda.pr.gov.br/nfe/NFeAutorizacao3?wsdl'
585
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
586
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
587
+ client_wsdl.globals[:follow_redirects].must_equal false
588
+ client_wsdl.globals[:headers].must_be_nil
589
+ end
590
+ it "configurações para e emissão normal no ambiente de teste" do
591
+ subject.env = :test
592
+ client_wsdl.globals[:wsdl].must_equal 'https://homologacao.nfe.fazenda.pr.gov.br/nfe/NFeAutorizacao3?wsdl'
593
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
594
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
595
+ client_wsdl.globals[:follow_redirects].must_equal false
596
+ client_wsdl.globals[:headers].must_be_nil
597
+ end
598
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
599
+ must_use_SVCRS_for_SVC_mode
600
+ end
601
+ end
602
+ describe 'UF 26 - Pernambuco' do
603
+ before { subject.ibge_code_of_issuer_uf = '26' }
604
+ it "configurações para e emissão normal no ambiente de produção" do
605
+ subject.env = :production
606
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeAutorizacao?wsdl'
607
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
608
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
609
+ client_wsdl.globals[:follow_redirects].must_equal false
610
+ client_wsdl.globals[:headers].must_be_nil
611
+ end
612
+ it "configurações para e emissão normal no ambiente de teste" do
613
+ subject.env = :test
614
+ client_wsdl.globals[:wsdl].must_equal 'https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeAutorizacao?wsdl'
615
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
616
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
617
+ client_wsdl.globals[:follow_redirects].must_equal false
618
+ client_wsdl.globals[:headers].must_be_nil
619
+ end
620
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
621
+ must_use_SVCRS_for_SVC_mode
622
+ end
623
+ end
624
+ describe 'UF 22 - Piauí' do
625
+ before { subject.ibge_code_of_issuer_uf = '22' }
626
+ it "Deve utilizar o servidor SVRS para emissão normal" do
627
+ must_use_SVRS
628
+ end
629
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
630
+ must_use_SVCRS_for_SVC_mode
631
+ end
632
+ end
633
+ describe 'UF 33 - Rio de Janeiro' do
634
+ before { subject.ibge_code_of_issuer_uf = '33' }
635
+ it "Deve utilizar o servidor SVRS para emissão normal" do
636
+ must_use_SVRS
637
+ end
638
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
639
+ must_use_SVCAN_for_SVC_mode
640
+ end
641
+ end
642
+ describe 'UF 24 - Rio Grande do Norte' do
643
+ before { subject.ibge_code_of_issuer_uf = '24' }
644
+ it "Deve utilizar o servidor SVRS para emissão normal" do
645
+ must_use_SVRS
646
+ end
647
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
648
+ must_use_SVCAN_for_SVC_mode
649
+ end
650
+ end
651
+ describe 'UF 43 - Rio Grande do Sul' do
652
+ before { subject.ibge_code_of_issuer_uf = '43' }
653
+ it "configurações para e emissão normal no ambiente de produção" do
654
+ subject.env = :production
655
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe.sefazrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx?wsdl'
656
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
657
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
658
+ client_wsdl.globals[:follow_redirects].must_equal false
659
+ client_wsdl.globals[:headers].must_be_nil
660
+ end
661
+ it "configurações para e emissão normal no ambiente de teste" do
662
+ subject.env = :test
663
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx?wsdl'
664
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
665
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
666
+ client_wsdl.globals[:follow_redirects].must_equal false
667
+ client_wsdl.globals[:headers].must_be_nil
668
+ end
669
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
670
+ must_use_SVCAN_for_SVC_mode
671
+ end
672
+ end
673
+ describe 'UF 11 - Rondônia' do
674
+ before { subject.ibge_code_of_issuer_uf = '11' }
675
+ it "Deve utilizar o servidor SVRS para emissão normal" do
676
+ must_use_SVRS
677
+ end
678
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
679
+ must_use_SVCAN_for_SVC_mode
680
+ end
681
+ end
682
+ describe 'UF 14 - Roraima' do
683
+ before { subject.ibge_code_of_issuer_uf = '14' }
684
+ it "Deve utilizar o servidor SVRS para emissão normal" do
685
+ must_use_SVRS
686
+ end
687
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
688
+ must_use_SVCAN_for_SVC_mode
689
+ end
690
+ end
691
+ describe 'UF 42 - Santa Catarina' do
692
+ before { subject.ibge_code_of_issuer_uf = '42' }
693
+ it "Deve utilizar o servidor SVRS para emissão normal" do
694
+ must_use_SVRS
695
+ end
696
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
697
+ must_use_SVCAN_for_SVC_mode
698
+ end
699
+ end
700
+ describe 'UF 35 - São Paulo' do
701
+ before { subject.ibge_code_of_issuer_uf = '35' }
702
+ it "configurações para e emissão normal no ambiente de produção" do
703
+ subject.env = :production
704
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe.fazenda.sp.gov.br/ws/nfeautorizacao.asmx?wsdl'
705
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
706
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
707
+ client_wsdl.globals[:follow_redirects].must_equal false
708
+ client_wsdl.globals[:headers].must_be_nil
709
+ end
710
+ it "configurações para e emissão normal no ambiente de teste" do
711
+ subject.env = :test
712
+ client_wsdl.globals[:wsdl].must_equal 'https://homologacao.nfe.fazenda.sp.gov.br/ws/nfeautorizacao.asmx?wsdl'
713
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
714
+ client_wsdl.globals[:ssl_version].must_equal :TLSv1
715
+ client_wsdl.globals[:follow_redirects].must_equal false
716
+ client_wsdl.globals[:headers].must_be_nil
717
+ end
718
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
719
+ must_use_SVCAN_for_SVC_mode
720
+ end
721
+ end
722
+ describe 'UF 28 - Sergipe' do
723
+ before { subject.ibge_code_of_issuer_uf = '28' }
724
+ it "Deve utilizar o servidor SVRS para emissão normal" do
725
+ must_use_SVRS
726
+ end
727
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
728
+ must_use_SVCAN_for_SVC_mode
729
+ end
730
+ end
731
+ describe 'UF 17 - Tocantins' do
732
+ before { subject.ibge_code_of_issuer_uf = '17' }
733
+ it "Deve utilizar o servidor SVRS para emissão normal" do
734
+ must_use_SVRS
735
+ end
736
+ it "Deve usar o servidor SVCAN para emissão em Contingência" do
737
+ must_use_SVCAN_for_SVC_mode
738
+ end
375
739
  end
376
740
  end
377
741
  end
378
- end
742
+
743
+ private
744
+ def must_use_SVRS
745
+ subject.env = :production
746
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx?wsdl'
747
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
748
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
749
+ client_wsdl.globals[:follow_redirects].must_equal false
750
+ client_wsdl.globals[:headers].must_be_nil
751
+
752
+ subject.instance_variable_set(:@client_wsdl, nil)
753
+ subject.env = :test
754
+ client_wsdl = subject.client_wsdl
755
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe-homologacao.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx?wsdl'
756
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
757
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
758
+ client_wsdl.globals[:follow_redirects].must_equal false
759
+ client_wsdl.globals[:headers].must_be_nil
760
+ end
761
+ def must_use_SVAN
762
+ subject.env = :production
763
+ client_wsdl.globals[:wsdl].must_equal 'https://www.sefazvirtual.fazenda.gov.br/NfeAutorizacao/NfeAutorizacao.asmx?wsdl'
764
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
765
+ client_wsdl.globals[:ssl_version].must_equal :TLSv1
766
+ client_wsdl.globals[:follow_redirects].must_equal false
767
+ client_wsdl.globals[:headers].must_be_nil
768
+
769
+ subject.instance_variable_set(:@client_wsdl, nil)
770
+ subject.env = :test
771
+ client_wsdl = subject.client_wsdl
772
+ client_wsdl.globals[:wsdl].must_equal 'https://hom.sefazvirtual.fazenda.gov.br/NfeAutorizacao/NfeAutorizacao.asmx?wsdl'
773
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
774
+ client_wsdl.globals[:ssl_version].must_equal :TLSv1
775
+ client_wsdl.globals[:follow_redirects].must_equal false
776
+ client_wsdl.globals[:headers].must_be_nil
777
+ end
778
+
779
+ def must_use_SVCAN_for_SVC_mode
780
+ subject.assign_attributes(env: :production, tipo_emissao: :svc)
781
+ client_wsdl.globals[:wsdl].must_equal 'https://www.svc.fazenda.gov.br/NfeAutorizacao/NfeAutorizacao.asmx?wsdl'
782
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
783
+ client_wsdl.globals[:ssl_version].must_equal :TLSv1
784
+ client_wsdl.globals[:follow_redirects].must_equal false
785
+ client_wsdl.globals[:headers].must_be_nil
786
+
787
+ subject.instance_variable_set(:@client_wsdl, nil)
788
+ subject.assign_attributes(env: :test, tipo_emissao: :svc)
789
+ client_wsdl = subject.client_wsdl
790
+ client_wsdl.globals[:wsdl].must_equal 'https://hom.svc.fazenda.gov.br/NfeAutorizacao/NfeAutorizacao.asmx?wsdl'
791
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
792
+ client_wsdl.globals[:ssl_version].must_equal :TLSv1
793
+ client_wsdl.globals[:follow_redirects].must_equal false
794
+ client_wsdl.globals[:headers].must_be_nil
795
+ end
796
+
797
+ def must_use_SVCRS_for_SVC_mode
798
+ subject.assign_attributes(env: :production, tipo_emissao: :svc)
799
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx?wsdl'
800
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
801
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
802
+ client_wsdl.globals[:follow_redirects].must_equal false
803
+ client_wsdl.globals[:headers].must_be_nil
804
+
805
+ subject.instance_variable_set(:@client_wsdl, nil)
806
+ subject.assign_attributes(env: :test, tipo_emissao: :svc)
807
+ client_wsdl = subject.client_wsdl
808
+ client_wsdl.globals[:wsdl].must_equal 'https://nfe-homologacao.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx?wsdl'
809
+ client_wsdl.globals[:ssl_verify_mode].must_equal :none
810
+ client_wsdl.globals[:ssl_version].must_equal :SSLv3
811
+ client_wsdl.globals[:follow_redirects].must_equal false
812
+ client_wsdl.globals[:headers].must_be_nil
813
+ end
814
+
815
+ end