br_nfe 2.2.0 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
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