br_nfe 1.1.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +5 -0
  3. data/.travis.yml +8 -0
  4. data/Gemfile +16 -0
  5. data/Gemfile.lock +27 -3
  6. data/LICENSE +1 -1
  7. data/README.markdown +10 -12
  8. data/Rakefile +13 -0
  9. data/br_nfe.gemspec +18 -21
  10. data/lib/br_nfe/active_model_base.rb +7 -1
  11. data/lib/br_nfe/base.rb +175 -37
  12. data/lib/br_nfe/endereco.rb +7 -1
  13. data/lib/br_nfe/helper/have_rps.rb +1 -1
  14. data/lib/br_nfe/helper/values_ts/service_v1.rb +313 -0
  15. data/lib/br_nfe/response/service/build_response.rb +286 -0
  16. data/lib/br_nfe/response/service/default.rb +185 -0
  17. data/lib/br_nfe/{servico/response → response/service}/nota_fiscal.rb +11 -10
  18. data/lib/br_nfe/response/service/paths/base.rb +93 -0
  19. data/lib/br_nfe/response/service/paths/v1/servico_cancelar_nfse_resposta.rb +22 -0
  20. data/lib/br_nfe/response/service/paths/v1/servico_consultar_lote_rps_resposta.rb +25 -0
  21. data/lib/br_nfe/response/service/paths/v1/servico_consultar_nfse_resposta.rb +25 -0
  22. data/lib/br_nfe/response/service/paths/v1/servico_consultar_nfse_rps_resposta.rb +25 -0
  23. data/lib/br_nfe/response/service/paths/v1/servico_consultar_situacao_lote_rps_resposta.rb +31 -0
  24. data/lib/br_nfe/response/service/paths/v1/servico_enviar_lote_rps_resposta.rb +36 -0
  25. data/lib/br_nfe/response/service/paths/v1/tc_nfse.rb +127 -0
  26. data/lib/br_nfe/service/base.rb +59 -0
  27. data/lib/br_nfe/service/betha/base.rb +8 -0
  28. data/lib/br_nfe/service/betha/v1/cancelamento_nfs.rb +39 -0
  29. data/lib/br_nfe/service/betha/v1/consulta_lote_rps.rb +34 -0
  30. data/lib/br_nfe/service/betha/v1/consulta_nfs_por_rps.rb +32 -0
  31. data/lib/br_nfe/service/betha/v1/consulta_nfse.rb +32 -0
  32. data/lib/br_nfe/service/betha/v1/consulta_situacao_lote_rps.rb +30 -0
  33. data/lib/br_nfe/service/betha/v1/gateway.rb +21 -0
  34. data/lib/br_nfe/service/betha/v1/recepcao_lote_rps.rb +37 -0
  35. data/lib/br_nfe/service/betha/v1/response_paths/servico_consultar_lote_rps_resposta.rb +19 -0
  36. data/lib/br_nfe/service/betha/v1/response_paths/servico_consultar_nfse_resposta.rb +17 -0
  37. data/lib/br_nfe/service/betha/v1/response_paths/servico_consultar_nfse_rps_resposta.rb +17 -0
  38. data/lib/br_nfe/service/concerns/rules/cancelamento_nfs.rb +20 -0
  39. data/lib/br_nfe/service/concerns/rules/consulta_nfs_por_rps.rb +18 -0
  40. data/lib/br_nfe/service/concerns/rules/consulta_nfse.rb +29 -0
  41. data/lib/br_nfe/service/concerns/rules/recepcao_lote_rps.rb +50 -0
  42. data/lib/br_nfe/{servico → service}/intermediario.rb +1 -1
  43. data/lib/br_nfe/service/item.rb +70 -0
  44. data/lib/br_nfe/service/rps.rb +231 -0
  45. data/lib/br_nfe/service/sc/florianopolis/base.rb +25 -0
  46. data/lib/br_nfe/service/sc/florianopolis/cancellation.rb +30 -0
  47. data/lib/br_nfe/service/sc/florianopolis/emission_rps.rb +19 -0
  48. data/lib/br_nfe/service/sc/florianopolis/xml/_address.xml.slim +21 -0
  49. data/lib/br_nfe/service/sc/florianopolis/xml/_contact.xml.slim +3 -0
  50. data/lib/br_nfe/service/sc/florianopolis/xml/_service_item.xml.slim +9 -0
  51. data/lib/br_nfe/service/sc/florianopolis/xml/cancellation.xml.slim +6 -0
  52. data/lib/br_nfe/service/sc/florianopolis/xml/inf_requisicao.xml.slim +55 -0
  53. data/lib/br_nfe/service/sc/gaspar/cancela_nfse.rb +13 -0
  54. data/lib/br_nfe/service/sc/gaspar/consulta_lote_rps.rb +13 -0
  55. data/lib/br_nfe/service/sc/gaspar/consulta_nfs_por_rps.rb +13 -0
  56. data/lib/br_nfe/service/sc/gaspar/consulta_nfse.rb +17 -0
  57. data/lib/br_nfe/service/sc/gaspar/consulta_situacao_lote_rps.rb +13 -0
  58. data/lib/br_nfe/service/sc/gaspar/recepcao_lote_rps.rb +13 -0
  59. data/lib/br_nfe/service/sc/gaspar/recepcao_lote_rps_limitado.rb +13 -0
  60. data/lib/br_nfe/service/thema/v1/base.rb +55 -0
  61. data/lib/br_nfe/service/thema/v1/cancela_nfse.rb +48 -0
  62. data/lib/br_nfe/service/thema/v1/consulta_lote_rps.rb +49 -0
  63. data/lib/br_nfe/service/thema/v1/consulta_nfs_por_rps.rb +48 -0
  64. data/lib/br_nfe/service/thema/v1/consulta_nfse.rb +47 -0
  65. data/lib/br_nfe/service/thema/v1/consulta_situacao_lote_rps.rb +46 -0
  66. data/lib/br_nfe/service/thema/v1/recepcao_lote_rps.rb +51 -0
  67. data/lib/br_nfe/service/thema/v1/recepcao_lote_rps_limitado.rb +30 -0
  68. data/lib/br_nfe/service/xml/v1/_tc_contato.xml.slim +7 -0
  69. data/lib/br_nfe/service/xml/v1/_tc_cpf_cnpj.xml.slim +5 -0
  70. data/lib/br_nfe/service/xml/v1/_tc_dados_construcao_civil.xml.slim +2 -0
  71. data/lib/br_nfe/service/xml/v1/_tc_dados_prestador.xml.slim +15 -0
  72. data/lib/br_nfe/service/xml/v1/_tc_dados_servico.xml.slim +14 -0
  73. data/lib/br_nfe/service/xml/v1/_tc_dados_tomador.xml.slim +15 -0
  74. data/lib/br_nfe/service/xml/v1/_tc_endereco.xml.slim +13 -0
  75. data/lib/br_nfe/service/xml/v1/_tc_identificacao_intermediario_servico.xml.slim +7 -0
  76. data/lib/br_nfe/service/xml/v1/_tc_identificacao_nfse.xml.slim +7 -0
  77. data/lib/br_nfe/service/xml/v1/_tc_identificacao_orgao_gerador.xml.slim +8 -0
  78. data/lib/br_nfe/service/xml/v1/_tc_identificacao_prestador.xml.slim +3 -0
  79. data/lib/br_nfe/service/xml/v1/_tc_identificacao_rps.xml.slim +16 -0
  80. data/lib/br_nfe/service/xml/v1/_tc_identificacao_tomador.xml.slim +4 -0
  81. data/lib/br_nfe/service/xml/v1/_tc_inf_pedido_cancelamento.xml.slim +4 -0
  82. data/lib/br_nfe/service/xml/v1/_tc_inf_rps.xml.slim +47 -0
  83. data/lib/br_nfe/service/xml/v1/_tc_lote_rps.xml.slim +9 -0
  84. data/lib/br_nfe/service/xml/v1/_tc_pedido_cancelamento.xml.slim +4 -0
  85. data/lib/br_nfe/service/xml/v1/_tc_rps.xml.slim +8 -0
  86. data/lib/br_nfe/service/xml/v1/_tc_valores.xml.slim +48 -0
  87. data/lib/br_nfe/service/xml/v1/servico_cancelar_nfse_envio.xml.slim +9 -0
  88. data/lib/br_nfe/service/xml/v1/servico_consultar_lote_rps_envio.xml.slim +4 -0
  89. data/lib/br_nfe/service/xml/v1/servico_consultar_nfse_envio.xml.slim +19 -0
  90. data/lib/br_nfe/service/xml/v1/servico_consultar_nfse_rps_envio.xml.slim +5 -0
  91. data/lib/br_nfe/service/xml/v1/servico_consultar_situacao_lote_rps_envio.xml.slim +4 -0
  92. data/lib/br_nfe/service/xml/v1/servico_enviar_lote_rps_envio.xml.slim +9 -0
  93. data/lib/br_nfe/version.rb +2 -2
  94. data/lib/br_nfe/xml/_signed_info_sh1.xml.slim +9 -0
  95. data/lib/br_nfe/xml/signature_sh1.xml.slim +12 -0
  96. data/lib/br_nfe/xml/soap_env.xml.slim +3 -0
  97. data/lib/br_nfe.rb +72 -20
  98. data/test/br_nfe/base_test.rb +257 -108
  99. data/test/br_nfe/helper/have_intermediario_test.rb +2 -2
  100. data/test/br_nfe/helper/have_rps_test.rb +4 -4
  101. data/test/br_nfe/response/service/build_response_test.rb +377 -0
  102. data/test/br_nfe/response/service/default_test.rb +218 -0
  103. data/test/br_nfe/{servico/response → response/service}/nota_fiscal_test.rb +2 -2
  104. data/test/br_nfe/response/service/paths/base_test.rb +199 -0
  105. data/test/br_nfe/response/service/paths/v1/servico_cancelar_nfse_resposta_test.rb +25 -0
  106. data/test/br_nfe/response/service/paths/v1/servico_consultar_lote_rps_resposta_test.rb +30 -0
  107. data/test/br_nfe/response/service/paths/v1/servico_consultar_nfse_resposta_test.rb +30 -0
  108. data/test/br_nfe/response/service/paths/v1/servico_consultar_nfse_rps_resposta_test.rb +30 -0
  109. data/test/br_nfe/response/service/paths/v1/servico_consultar_situacao_lote_rps_resposta_test.rb +30 -0
  110. data/test/br_nfe/response/service/paths/v1/servico_enviar_lote_rps_resposta_test.rb +34 -0
  111. data/test/br_nfe/response/service/paths/v1/tc_nfse_test.rb +122 -0
  112. data/test/br_nfe/service/base_test.rb +138 -0
  113. data/test/br_nfe/service/betha/base_test.rb +9 -0
  114. data/test/br_nfe/service/betha/v1/cancelamento_nfs_test.rb +60 -0
  115. data/test/br_nfe/service/betha/v1/consulta_lote_rps_test.rb +55 -0
  116. data/test/br_nfe/service/betha/v1/consulta_nfs_por_rps_test.rb +55 -0
  117. data/test/br_nfe/service/betha/v1/consulta_nfse_test.rb +53 -0
  118. data/test/br_nfe/service/betha/v1/consulta_situacao_lote_rps_test.rb +49 -0
  119. data/test/br_nfe/service/betha/v1/gateway_test.rb +35 -0
  120. data/test/br_nfe/service/betha/v1/recepcao_lote_rps_test.rb +84 -0
  121. data/test/br_nfe/service/betha/v1/response_paths/servico_consultar_lote_rps_resposta_test.rb +16 -0
  122. data/test/br_nfe/service/betha/v1/response_paths/servico_consultar_nfse_resposta_test.rb +16 -0
  123. data/test/br_nfe/service/betha/v1/response_paths/servico_consultar_nfse_rps_resposta_test.rb +16 -0
  124. data/test/br_nfe/service/betha/v1/xsd/TiposNFe_v01.xsd +583 -0
  125. data/test/br_nfe/service/betha/v1/xsd/nfse_v01.xsd +652 -0
  126. data/test/br_nfe/service/betha/v1/xsd/servico_cancelar_nfse_envio_v01.xsd +17 -0
  127. data/test/br_nfe/service/betha/v1/xsd/servico_consultar_lote_rps_envio_v01.xsd +16 -0
  128. data/test/br_nfe/service/betha/v1/xsd/servico_consultar_nfse_envio_v01.xsd +28 -0
  129. data/test/br_nfe/service/betha/v1/xsd/servico_consultar_nfse_rps_envio_v01.xsd +16 -0
  130. data/test/br_nfe/service/betha/v1/xsd/servico_consultar_situacao_lote_rps_envio_v01.xsd +16 -0
  131. data/test/br_nfe/service/betha/v1/xsd/servico_enviar_lote_rps_envio_v01.xsd +17 -0
  132. data/test/br_nfe/service/betha/v1/xsd/xmldsig-core-schema.xsd +308 -0
  133. data/test/br_nfe/service/betha/v1/xsd/xmldsig-core-schema_v01.xsd +95 -0
  134. data/test/br_nfe/service/concerns/rules/cancelamento_nfs_test.rb +15 -0
  135. data/test/br_nfe/service/concerns/rules/consulta_nfs_por_rps_test.rb +36 -0
  136. data/test/br_nfe/service/concerns/rules/consulta_nfse_test.rb +42 -0
  137. data/test/br_nfe/{servico/base_test.rb → service/concerns/rules/recepcao_lote_rps_test.rb} +12 -4
  138. data/test/br_nfe/{servico → service}/intermediario_test.rb +1 -1
  139. data/test/br_nfe/service/item_test.rb +34 -0
  140. data/test/br_nfe/{servico → service}/rps_test.rb +191 -43
  141. data/test/br_nfe/service/sc/florianopolis/XSD/TiposNFSe_v2.0.xsd +863 -0
  142. data/test/br_nfe/service/sc/florianopolis/XSD/xmldsig-core-schema.xsd +309 -0
  143. data/test/br_nfe/service/sc/florianopolis/base_test.rb +20 -0
  144. data/test/br_nfe/service/sc/florianopolis/cancellation_test.rb +36 -0
  145. data/test/br_nfe/service/sc/florianopolis/emission_rps_test.rb +145 -0
  146. data/test/br_nfe/service/sc/gaspar/cancela_nfse_test.rb +21 -0
  147. data/test/br_nfe/service/sc/gaspar/consulta_nfs_por_rps_test.rb +21 -0
  148. data/test/br_nfe/service/sc/gaspar/consulta_nfse_test.rb +21 -0
  149. data/test/br_nfe/service/sc/gaspar/consulta_situacao_lote_rps_test.rb +21 -0
  150. data/test/br_nfe/service/sc/gaspar/recepcao_lote_rps_limitado_test.rb +22 -0
  151. data/test/br_nfe/service/sc/gaspar/recepcao_lote_rps_test.rb +22 -0
  152. data/test/br_nfe/service/thema/v1/base_test.rb +65 -0
  153. data/test/br_nfe/service/thema/v1/cancela_nfse_test.rb +56 -0
  154. data/test/br_nfe/service/thema/v1/consulta_lote_rps_test.rb +47 -0
  155. data/test/br_nfe/service/thema/v1/consulta_nfs_por_rps_test.rb +50 -0
  156. data/test/br_nfe/service/thema/v1/consulta_nfse_test.rb +50 -0
  157. data/test/br_nfe/service/thema/v1/consulta_situacao_lote_rps_test.rb +47 -0
  158. data/test/br_nfe/service/thema/v1/recepcao_lote_rps_test.rb +62 -0
  159. data/test/br_nfe/service/thema/v1/recepcao_lote_rps_test_limitado.rb +50 -0
  160. data/test/br_nfe/service/thema/v1/xsd/nfse.xsd +656 -0
  161. data/test/br_nfe/service/thema/v1/xsd/xmldsig-core-schema20020212.xsd +318 -0
  162. data/test/br_nfe/service/xsd/v1/nfse.xsd +779 -0
  163. data/test/br_nfe/service/xsd/v1/xmldsig-core-schema20020212.xsd +316 -0
  164. data/test/cert.pfx +0 -0
  165. data/test/factories/base.rb +2 -0
  166. data/test/factories/destinatario.rb +3 -3
  167. data/test/factories/response/service/build_response.rb +5 -0
  168. data/test/factories/response/service/default.rb +10 -0
  169. data/test/factories/{servico/response → response/service}/nota_fiscal.rb +9 -9
  170. data/test/factories/service/base.rb +6 -0
  171. data/test/factories/service/betha/base.rb +4 -0
  172. data/test/factories/service/betha/v1/cancelamento_nfs.rb +9 -0
  173. data/test/factories/{servico → service}/betha/v1/consulta_lote_rps.rb +2 -2
  174. data/test/factories/{servico → service}/betha/v1/consulta_nfs_por_rps.rb +1 -1
  175. data/test/factories/service/betha/v1/consulta_nfse.rb +8 -0
  176. data/test/factories/{servico → service}/betha/v1/consulta_situacao_lote_rps.rb +2 -2
  177. data/test/factories/{servico → service}/betha/v1/gateway.rb +1 -1
  178. data/test/factories/service/betha/v1/recepcao_lote_rps.rb +8 -0
  179. data/test/factories/{servico → service}/intermediario.rb +2 -2
  180. data/test/factories/service/item.rb +12 -0
  181. data/test/factories/service/rps.rb +50 -0
  182. data/test/factories/service/sc/florianopolis/base.rb +5 -0
  183. data/test/factories/service/sc/florianopolis/cancellation.rb +7 -0
  184. data/test/factories/service/sc/florianopolis/emission_rps.rb +7 -0
  185. data/test/factories/service/sc/gaspar/cancela_nfse.rb +9 -0
  186. data/test/factories/service/sc/gaspar/consulta_lote_rps.rb +7 -0
  187. data/test/factories/service/sc/gaspar/consulta_nfs_por_rps.rb +6 -0
  188. data/test/factories/service/sc/gaspar/consulta_nfse.rb +8 -0
  189. data/test/factories/service/sc/gaspar/consulta_situacao_lote_rps.rb +6 -0
  190. data/test/factories/service/sc/gaspar/recepcao_lote_rps.rb +9 -0
  191. data/test/factories/service/sc/gaspar/recepcao_lote_rps_limitado.rb +9 -0
  192. data/test/factories/service/thema/v1/base.rb +7 -0
  193. data/test/factories/service/thema/v1/cancela_nfse.rb +9 -0
  194. data/test/factories/service/thema/v1/consulta_lote_rps.rb +7 -0
  195. data/test/factories/service/thema/v1/consulta_nfs_por_rps.rb +6 -0
  196. data/test/factories/service/thema/v1/consulta_nfse.rb +8 -0
  197. data/test/factories/service/thema/v1/consulta_situacao_lote_rps.rb +6 -0
  198. data/test/factories/service/thema/v1/recepcao_lote_rps.rb +9 -0
  199. data/test/factories/service/thema/v1/recepcao_lote_rps_limitado.rb +8 -0
  200. data/test/test_helper.rb +42 -0
  201. metadata +338 -121
  202. data/lib/br_nfe/servico/base.rb +0 -35
  203. data/lib/br_nfe/servico/betha/base.rb +0 -85
  204. data/lib/br_nfe/servico/betha/build_response.rb +0 -141
  205. data/lib/br_nfe/servico/betha/v1/build_response.rb +0 -121
  206. data/lib/br_nfe/servico/betha/v1/cancelamento_nfs.rb +0 -52
  207. data/lib/br_nfe/servico/betha/v1/consulta_lote_rps.rb +0 -33
  208. data/lib/br_nfe/servico/betha/v1/consulta_nfs_por_rps.rb +0 -37
  209. data/lib/br_nfe/servico/betha/v1/consulta_nfse.rb +0 -51
  210. data/lib/br_nfe/servico/betha/v1/consulta_situacao_lote_rps.rb +0 -18
  211. data/lib/br_nfe/servico/betha/v1/gateway.rb +0 -125
  212. data/lib/br_nfe/servico/betha/v1/recepcao_lote_rps.rb +0 -97
  213. data/lib/br_nfe/servico/betha/v2/build_response.rb +0 -159
  214. data/lib/br_nfe/servico/betha/v2/cancelamento_nfs.rb +0 -30
  215. data/lib/br_nfe/servico/betha/v2/consulta_lote_rps.rb +0 -30
  216. data/lib/br_nfe/servico/betha/v2/consulta_nfse_por_rps.rb +0 -27
  217. data/lib/br_nfe/servico/betha/v2/envio_lote_rps_sincrono.rb +0 -30
  218. data/lib/br_nfe/servico/betha/v2/gateway.rb +0 -230
  219. data/lib/br_nfe/servico/betha/v2/gera_nfse.rb +0 -30
  220. data/lib/br_nfe/servico/betha/v2/recepcao_lote_rps.rb +0 -52
  221. data/lib/br_nfe/servico/betha/v2/substituicao_nfse.rb +0 -43
  222. data/lib/br_nfe/servico/response/default.rb +0 -34
  223. data/lib/br_nfe/servico/rps.rb +0 -108
  224. data/test/br_nfe/servico/betha/base_test.rb +0 -135
  225. data/test/br_nfe/servico/betha/v1/build_response_test.rb +0 -557
  226. data/test/br_nfe/servico/betha/v1/cancelamento_nfs_test.rb +0 -72
  227. data/test/br_nfe/servico/betha/v1/consulta_lote_rps_test.rb +0 -46
  228. data/test/br_nfe/servico/betha/v1/consulta_nfs_por_rps_test.rb +0 -68
  229. data/test/br_nfe/servico/betha/v1/consulta_nfse_test.rb +0 -74
  230. data/test/br_nfe/servico/betha/v1/consulta_situacao_lote_rps_test.rb +0 -27
  231. data/test/br_nfe/servico/betha/v1/gateway_test.rb +0 -151
  232. data/test/br_nfe/servico/betha/v1/recepcao_lote_rps_test.rb +0 -249
  233. data/test/br_nfe/servico/betha/v2/cancelamento_nfs_test.rb +0 -44
  234. data/test/br_nfe/servico/betha/v2/consulta_lote_rps_test.rb +0 -38
  235. data/test/br_nfe/servico/betha/v2/consulta_nfse_por_rps_test.rb +0 -36
  236. data/test/br_nfe/servico/betha/v2/envio_lote_rps_sincrono_test.rb +0 -51
  237. data/test/br_nfe/servico/betha/v2/gateway_test.rb +0 -372
  238. data/test/br_nfe/servico/betha/v2/gera_nfse_test.rb +0 -62
  239. data/test/br_nfe/servico/betha/v2/recepcao_lote_rps_test.rb +0 -108
  240. data/test/br_nfe/servico/betha/v2/substituicao_nfse_test.rb +0 -84
  241. data/test/br_nfe/servico/response/default_test.rb +0 -54
  242. data/test/factories/servico/base.rb +0 -5
  243. data/test/factories/servico/betha/base.rb +0 -5
  244. data/test/factories/servico/betha/v1/build_response.rb +0 -6
  245. data/test/factories/servico/betha/v1/cancelamento_nfs.rb +0 -7
  246. data/test/factories/servico/betha/v1/consulta_nfse.rb +0 -8
  247. data/test/factories/servico/betha/v1/recepcao_lote_rps.rb +0 -6
  248. data/test/factories/servico/betha/v2/cancelamento_nfs.rb +0 -7
  249. data/test/factories/servico/betha/v2/consulta_lote_rps.rb +0 -6
  250. data/test/factories/servico/betha/v2/consulta_nfse_por_rps.rb +0 -6
  251. data/test/factories/servico/betha/v2/envio_lote_rps_sincrono.rb +0 -5
  252. data/test/factories/servico/betha/v2/gateway.rb +0 -5
  253. data/test/factories/servico/betha/v2/gera_nfse.rb +0 -6
  254. data/test/factories/servico/betha/v2/recepcao_lote_rps.rb +0 -5
  255. data/test/factories/servico/betha/v2/substituicao_nfse.rb +0 -8
  256. data/test/factories/servico/response/default.rb +0 -10
  257. data/test/factories/servico/rps.rb +0 -44
@@ -4,8 +4,8 @@ require 'br_nfe/helper/have_destinatario_test'
4
4
  require 'br_nfe/helper/have_intermediario_test'
5
5
  require 'br_nfe/helper/have_condicao_pagamento_test'
6
6
 
7
- describe BrNfe::Servico::Response::NotaFiscal do
8
- subject { FactoryGirl.build(:response_nota_fiscal, emitente: emitente) }
7
+ describe BrNfe::Response::Service::NotaFiscal do
8
+ subject { FactoryGirl.build(:response_service_nota_fiscal, emitente: emitente) }
9
9
  let(:emitente) { FactoryGirl.build(:emitente) }
10
10
  let(:destinatario) { subject.destinatario }
11
11
  let(:intermediario) { subject.intermediario }
@@ -0,0 +1,199 @@
1
+ require 'test_helper'
2
+
3
+ class ResponsePathsBaseTest
4
+ include BrNfe::Service::Response::Paths::Base
5
+ end
6
+
7
+ describe BrNfe::Service::Response::Paths::Base do
8
+ subject { ResponsePathsBaseTest.new }
9
+
10
+ it 'valor padrão para o método lot_number_path' do
11
+ subject.lot_number_path.must_equal []
12
+ end
13
+ it 'valor padrão para o método protocol_path' do
14
+ subject.protocol_path.must_equal []
15
+ end
16
+ it 'valor padrão para o método received_date_path' do
17
+ subject.received_date_path.must_equal []
18
+ end
19
+ it 'valor padrão para o método situation_path' do
20
+ subject.situation_path.must_equal []
21
+ end
22
+ it 'valor padrão para o método cancelation_date_time_path' do
23
+ subject.cancelation_date_time_path.must_equal []
24
+ end
25
+ it 'valor padrão para o método message_errors_path' do
26
+ subject.message_errors_path.must_equal []
27
+ end
28
+ it 'valor padrão para o método message_code_key' do
29
+ subject.message_code_key.must_equal :codigo
30
+ end
31
+ it 'valor padrão para o método message_msg_key' do
32
+ subject.message_msg_key.must_equal :mensagem
33
+ end
34
+ it 'valor padrão para o método message_solution_key' do
35
+ subject.message_solution_key.must_equal :correcao
36
+ end
37
+ it 'valor padrão para o método invoices_path' do
38
+ subject.invoices_path.must_equal []
39
+ end
40
+ it 'valor padrão para o método invoice_numero_nf_path' do
41
+ subject.invoice_numero_nf_path.must_equal []
42
+ end
43
+ it 'valor padrão para o método invoice_codigo_verificacao_path' do
44
+ subject.invoice_codigo_verificacao_path.must_equal []
45
+ end
46
+ it 'valor padrão para o método invoice_data_emissao_path' do
47
+ subject.invoice_data_emissao_path.must_equal []
48
+ end
49
+ it 'valor padrão para o método invoice_url_nf_path' do
50
+ subject.invoice_url_nf_path.must_equal []
51
+ end
52
+ it 'valor padrão para o método invoice_rps_numero_path' do
53
+ subject.invoice_rps_numero_path.must_equal []
54
+ end
55
+ it 'valor padrão para o método invoice_rps_serie_path' do
56
+ subject.invoice_rps_serie_path.must_equal []
57
+ end
58
+ it 'valor padrão para o método invoice_rps_tipo_path' do
59
+ subject.invoice_rps_tipo_path.must_equal []
60
+ end
61
+ it 'valor padrão para o método invoice_rps_situacao_path' do
62
+ subject.invoice_rps_situacao_path.must_equal []
63
+ end
64
+ it 'valor padrão para o método invoice_rps_substituido_numero_path' do
65
+ subject.invoice_rps_substituido_numero_path.must_equal []
66
+ end
67
+ it 'valor padrão para o método invoice_rps_substituido_serie_path' do
68
+ subject.invoice_rps_substituido_serie_path.must_equal []
69
+ end
70
+ it 'valor padrão para o método invoice_rps_substituido_tipo_path' do
71
+ subject.invoice_rps_substituido_tipo_path.must_equal []
72
+ end
73
+ it 'valor padrão para o método invoice_data_emissao_rps_path' do
74
+ subject.invoice_data_emissao_rps_path.must_equal []
75
+ end
76
+ it 'valor padrão para o método invoice_competencia_path' do
77
+ subject.invoice_competencia_path.must_equal []
78
+ end
79
+ it 'valor padrão para o método invoice_outras_informacoes_path' do
80
+ subject.invoice_outras_informacoes_path.must_equal []
81
+ end
82
+ it 'valor padrão para o método invoice_item_lista_servico_path' do
83
+ subject.invoice_item_lista_servico_path.must_equal []
84
+ end
85
+ it 'valor padrão para o método invoice_cnae_code_path' do
86
+ subject.invoice_cnae_code_path.must_equal []
87
+ end
88
+ it 'valor padrão para o método invoice_description_path' do
89
+ subject.invoice_description_path.must_equal []
90
+ end
91
+ it 'valor padrão para o método invoice_codigo_municipio_path' do
92
+ subject.invoice_codigo_municipio_path.must_equal []
93
+ end
94
+ it 'valor padrão para o método invoice_total_services_path' do
95
+ subject.invoice_total_services_path.must_equal []
96
+ end
97
+ it 'valor padrão para o método invoice_deductions_path' do
98
+ subject.invoice_deductions_path.must_equal []
99
+ end
100
+ it 'valor padrão para o método invoice_valor_pis_path' do
101
+ subject.invoice_valor_pis_path.must_equal []
102
+ end
103
+ it 'valor padrão para o método invoice_valor_cofins_path' do
104
+ subject.invoice_valor_cofins_path.must_equal []
105
+ end
106
+ it 'valor padrão para o método invoice_valor_inss_path' do
107
+ subject.invoice_valor_inss_path.must_equal []
108
+ end
109
+ it 'valor padrão para o método invoice_valor_ir_path' do
110
+ subject.invoice_valor_ir_path.must_equal []
111
+ end
112
+ it 'valor padrão para o método invoice_valor_csll_path' do
113
+ subject.invoice_valor_csll_path.must_equal []
114
+ end
115
+ it 'valor padrão para o método invoice_iss_retained_path' do
116
+ subject.invoice_iss_retained_path.must_equal []
117
+ end
118
+ it 'valor padrão para o método invoice_outras_retencoes_path' do
119
+ subject.invoice_outras_retencoes_path.must_equal []
120
+ end
121
+ it 'valor padrão para o método invoice_total_iss_path' do
122
+ subject.invoice_total_iss_path.must_equal []
123
+ end
124
+ it 'valor padrão para o método invoice_base_calculation_path' do
125
+ subject.invoice_base_calculation_path.must_equal []
126
+ end
127
+ it 'valor padrão para o método invoice_iss_tax_rate_path' do
128
+ subject.invoice_iss_tax_rate_path.must_equal []
129
+ end
130
+ it 'valor padrão para o método invoice_valor_liquido_path' do
131
+ subject.invoice_valor_liquido_path.must_equal []
132
+ end
133
+ it 'valor padrão para o método invoice_desconto_condicionado_path' do
134
+ subject.invoice_desconto_condicionado_path.must_equal []
135
+ end
136
+ it 'valor padrão para o método invoice_desconto_incondicionado_path' do
137
+ subject.invoice_desconto_incondicionado_path.must_equal []
138
+ end
139
+ it 'valor padrão para o método invoice_responsavel_retencao_path' do
140
+ subject.invoice_responsavel_retencao_path.must_equal []
141
+ end
142
+ it 'valor padrão para o método invoice_numero_processo_path' do
143
+ subject.invoice_numero_processo_path.must_equal []
144
+ end
145
+ it 'valor padrão para o método invoice_municipio_incidencia_path' do
146
+ subject.invoice_municipio_incidencia_path.must_equal []
147
+ end
148
+ it 'valor padrão para o método invoice_orgao_gerador_municipio_path' do
149
+ subject.invoice_orgao_gerador_municipio_path.must_equal []
150
+ end
151
+ it 'valor padrão para o método invoice_orgao_gerador_uf_path' do
152
+ subject.invoice_orgao_gerador_uf_path.must_equal []
153
+ end
154
+ it 'valor padrão para o método invoice_cancelamento_codigo_path' do
155
+ subject.invoice_cancelamento_codigo_path.must_equal []
156
+ end
157
+ it 'valor padrão para o método invoice_cancelamento_numero_nf_path' do
158
+ subject.invoice_cancelamento_numero_nf_path.must_equal []
159
+ end
160
+ it 'valor padrão para o método invoice_cancelamento_cnpj_path' do
161
+ subject.invoice_cancelamento_cnpj_path.must_equal []
162
+ end
163
+ it 'valor padrão para o método invoice_cancelamento_municipio_path' do
164
+ subject.invoice_cancelamento_municipio_path.must_equal []
165
+ end
166
+ it 'valor padrão para o método invoice_cancelamento_sucesso_path' do
167
+ subject.invoice_cancelamento_sucesso_path.must_equal []
168
+ end
169
+ it 'valor padrão para o método invoice_cancelamento_data_hora_path' do
170
+ subject.invoice_cancelamento_data_hora_path.must_equal []
171
+ end
172
+ it 'valor padrão para o método invoice_nfe_substituidora_path' do
173
+ subject.invoice_nfe_substituidora_path.must_equal []
174
+ end
175
+ it 'valor padrão para o método invoice_codigo_obra_path' do
176
+ subject.invoice_codigo_obra_path.must_equal []
177
+ end
178
+ it 'valor padrão para o método invoice_codigo_art_path' do
179
+ subject.invoice_codigo_art_path.must_equal []
180
+ end
181
+ it 'valor padrão para o método invoice_cancelamento_inscricao_municipal_path' do
182
+ subject.invoice_cancelamento_inscricao_municipal_path.must_equal []
183
+ end
184
+
185
+ describe "#situation_key_values" do
186
+ it "Chave para não recebido deve ser '1' " do
187
+ subject.situation_key_values['1'].must_equal :unreceived
188
+ end
189
+ it "Chave para não processado deve ser '2' " do
190
+ subject.situation_key_values['2'].must_equal :unprocessed
191
+ end
192
+ it "Chave para erro no processamento deve ser '3' " do
193
+ subject.situation_key_values['3'].must_equal :error
194
+ end
195
+ it "Chave para processado com sucesso deve ser '4' " do
196
+ subject.situation_key_values['4'].must_equal :success
197
+ end
198
+ end
199
+ end
@@ -0,0 +1,25 @@
1
+ require 'test_helper'
2
+
3
+ describe BrNfe::Service::Response::Paths::V1::ServicoCancelarNfseResposta do
4
+
5
+ class ResponsePathsV1ServicoCancelarNfseRespostaTest
6
+ include BrNfe::Service::Response::Paths::V1::ServicoCancelarNfseResposta
7
+ end
8
+
9
+ subject { ResponsePathsV1ServicoCancelarNfseRespostaTest.new }
10
+
11
+ it "deve estar incluso o module BrNfe::Service::Response::Paths::Base" do
12
+ subject.class.included_modules.must_include BrNfe::Service::Response::Paths::Base
13
+ end
14
+
15
+ describe "métodos sobrescritos do module ..Base" do
16
+ it 'valor do método message_errors_path' do
17
+ subject.message_errors_path.must_equal [:cancelar_nfse_resposta, :lista_mensagem_retorno, :mensagem_retorno]
18
+ end
19
+
20
+ it 'valor do método cancelation_date_time_path' do
21
+ subject.cancelation_date_time_path.must_equal [:cancelar_nfse_resposta, :cancelamento, :confirmacao, :inf_confirmacao_cancelamento, :data_hora]
22
+ end
23
+ end
24
+
25
+ end
@@ -0,0 +1,30 @@
1
+ require 'test_helper'
2
+
3
+ describe BrNfe::Service::Response::Paths::V1::ServicoConsultarLoteRpsResposta do
4
+
5
+ class ResponsePathsV1ServicoConsultarLoteRpsRespostaTest
6
+ include BrNfe::Service::Response::Paths::V1::ServicoConsultarLoteRpsResposta
7
+ end
8
+
9
+ subject { ResponsePathsV1ServicoConsultarLoteRpsRespostaTest.new }
10
+
11
+ it "deve estar incluso o module BrNfe::Service::Response::Paths::Base" do
12
+ subject.class.included_modules.must_include BrNfe::Service::Response::Paths::Base
13
+ end
14
+
15
+ it "deve estar incluso o module BrNfe::Service::Response::Paths::V1::TcNfse" do
16
+ subject.class.included_modules.must_include BrNfe::Service::Response::Paths::V1::TcNfse
17
+ end
18
+
19
+ describe "métodos sobrescritos do module ..Base" do
20
+ it 'valor do método message_errors_path' do
21
+ subject.message_errors_path.must_equal [:consultar_lote_rps_resposta, :lista_mensagem_retorno, :mensagem_retorno]
22
+ end
23
+
24
+ it 'valor do método invoices_path' do
25
+ subject.invoices_path.must_equal [:consultar_lote_rps_resposta, :lista_nfse, :comp_nfse]
26
+ end
27
+
28
+ end
29
+
30
+ end
@@ -0,0 +1,30 @@
1
+ require 'test_helper'
2
+
3
+ describe BrNfe::Service::Response::Paths::V1::ServicoConsultarNfseResposta do
4
+
5
+ class ResponsePathsV1ServicoConsultarNfseRespostaTest
6
+ include BrNfe::Service::Response::Paths::V1::ServicoConsultarNfseResposta
7
+ end
8
+
9
+ subject { ResponsePathsV1ServicoConsultarNfseRespostaTest.new }
10
+
11
+ it "deve estar incluso o module BrNfe::Service::Response::Paths::Base" do
12
+ subject.class.included_modules.must_include BrNfe::Service::Response::Paths::Base
13
+ end
14
+
15
+ it "deve estar incluso o module BrNfe::Service::Response::Paths::V1::TcNfse" do
16
+ subject.class.included_modules.must_include BrNfe::Service::Response::Paths::V1::TcNfse
17
+ end
18
+
19
+ describe "métodos sobrescritos do module ..Base" do
20
+ it 'valor do método message_errors_path' do
21
+ subject.message_errors_path.must_equal [:consultar_nfse_resposta, :lista_mensagem_retorno, :mensagem_retorno]
22
+ end
23
+
24
+ it 'valor do método invoices_path' do
25
+ subject.invoices_path.must_equal [:consultar_nfse_resposta, :lista_nfse, :comp_nfse]
26
+ end
27
+
28
+ end
29
+
30
+ end
@@ -0,0 +1,30 @@
1
+ require 'test_helper'
2
+
3
+ describe BrNfe::Service::Response::Paths::V1::ServicoConsultarNfseRpsResposta do
4
+
5
+ class ResponsePathsV1ServicoConsultarNfseRpsRespostaTest
6
+ include BrNfe::Service::Response::Paths::V1::ServicoConsultarNfseRpsResposta
7
+ end
8
+
9
+ subject { ResponsePathsV1ServicoConsultarNfseRpsRespostaTest.new }
10
+
11
+ it "deve estar incluso o module BrNfe::Service::Response::Paths::Base" do
12
+ subject.class.included_modules.must_include BrNfe::Service::Response::Paths::Base
13
+ end
14
+
15
+ it "deve estar incluso o module BrNfe::Service::Response::Paths::V1::TcNfse" do
16
+ subject.class.included_modules.must_include BrNfe::Service::Response::Paths::V1::TcNfse
17
+ end
18
+
19
+ describe "métodos sobrescritos do module ..Base" do
20
+ it 'valor do método message_errors_path' do
21
+ subject.message_errors_path.must_equal [:consultar_nfse_rps_resposta, :lista_mensagem_retorno, :mensagem_retorno]
22
+ end
23
+
24
+ it 'valor do método invoices_path' do
25
+ subject.invoices_path.must_equal [:consultar_nfse_rps_resposta, :comp_nfse]
26
+ end
27
+
28
+ end
29
+
30
+ end
@@ -0,0 +1,30 @@
1
+ require 'test_helper'
2
+
3
+ describe BrNfe::Service::Response::Paths::V1::ServicoConsultarSituacaoLoteRpsResposta do
4
+
5
+ class ResponsePathsV1ServicoConsultarSituacaoLoteRpsRespostaTest
6
+ include BrNfe::Service::Response::Paths::V1::ServicoConsultarSituacaoLoteRpsResposta
7
+ end
8
+
9
+ subject { ResponsePathsV1ServicoConsultarSituacaoLoteRpsRespostaTest.new }
10
+
11
+ it "deve estar incluso o module BrNfe::Service::Response::Paths::Base" do
12
+ subject.class.included_modules.must_include BrNfe::Service::Response::Paths::Base
13
+ end
14
+
15
+ describe "métodos sobrescritos do module ..Base" do
16
+ it 'valor do método lot_number_path' do
17
+ subject.lot_number_path.must_equal [:consultar_situacao_lote_rps_resposta, :numero_lote]
18
+ end
19
+
20
+ it 'valor do método situation_path' do
21
+ subject.situation_path.must_equal [:consultar_situacao_lote_rps_resposta, :situacao]
22
+ end
23
+
24
+ it 'valor do método message_errors_path' do
25
+ subject.message_errors_path.must_equal [:consultar_situacao_lote_rps_resposta, :lista_mensagem_retorno, :mensagem_retorno]
26
+ end
27
+
28
+ end
29
+
30
+ end
@@ -0,0 +1,34 @@
1
+ require 'test_helper'
2
+
3
+ describe BrNfe::Service::Response::Paths::V1::ServicoEnviarLoteRpsResposta do
4
+
5
+ class ResponsePathsV1ServicoEnviarLoteRpsRespostaTest
6
+ include BrNfe::Service::Response::Paths::V1::ServicoEnviarLoteRpsResposta
7
+ end
8
+
9
+ subject { ResponsePathsV1ServicoEnviarLoteRpsRespostaTest.new }
10
+
11
+ it "deve estar incluso o module BrNfe::Service::Response::Paths::Base" do
12
+ subject.class.included_modules.must_include BrNfe::Service::Response::Paths::Base
13
+ end
14
+
15
+ describe "métodos sobrescritos do module ..Base" do
16
+ it 'valor do método lot_number_path' do
17
+ subject.lot_number_path.must_equal([:enviar_lote_rps_resposta, :numero_lote] )
18
+ end
19
+
20
+ it 'valor do método protocol_path' do
21
+ subject.protocol_path.must_equal([:enviar_lote_rps_resposta, :protocolo] )
22
+ end
23
+
24
+ it 'valor do método received_date_path' do
25
+ subject.received_date_path.must_equal([:enviar_lote_rps_resposta, :data_recebimento] )
26
+ end
27
+
28
+ it 'valor do método message_errors_path' do
29
+ subject.message_errors_path.must_equal([:enviar_lote_rps_resposta, :lista_mensagem_retorno, :mensagem_retorno])
30
+ end
31
+
32
+ end
33
+
34
+ end
@@ -0,0 +1,122 @@
1
+ require 'test_helper'
2
+
3
+ class ResponsePathsV1TcNfseTest
4
+ include BrNfe::Service::Response::Paths::V1::TcNfse
5
+ end
6
+
7
+ describe BrNfe::Service::Response::Paths::V1::TcNfse do
8
+ subject { ResponsePathsV1TcNfseTest.new }
9
+
10
+ it 'valor padrão para o método invoice_numero_nf_path' do
11
+ subject.invoice_numero_nf_path.must_equal( [:nfse, :inf_nfse, :numero] )
12
+ end
13
+
14
+ it 'valor padrão para o método invoice_codigo_verificacao_path' do
15
+ subject.invoice_codigo_verificacao_path.must_equal( [:nfse, :inf_nfse, :codigo_verificacao] )
16
+ end
17
+
18
+ it 'valor padrão para o método invoice_data_emissao_path' do
19
+ subject.invoice_data_emissao_path.must_equal( [:nfse, :inf_nfse, :data_emissao] )
20
+ end
21
+
22
+ it 'valor padrão para o método invoice_url_nf_path' do
23
+ subject.invoice_url_nf_path.must_equal( [:nfse, :inf_nfse, :outras_informacoes] )
24
+ end
25
+
26
+ it 'valor padrão para o método invoice_rps_numero_path' do
27
+ subject.invoice_rps_numero_path.must_equal( [:nfse, :inf_nfse, :identificacao_rps, :numero] )
28
+ end
29
+
30
+ it 'valor padrão para o método invoice_rps_serie_path' do
31
+ subject.invoice_rps_serie_path.must_equal( [:nfse, :inf_nfse, :identificacao_rps, :serie] )
32
+ end
33
+
34
+ it 'valor padrão para o método invoice_rps_tipo_path' do
35
+ subject.invoice_rps_tipo_path.must_equal( [:nfse, :inf_nfse, :identificacao_rps, :tipo] )
36
+ end
37
+
38
+ it 'valor padrão para o método invoice_competencia_path' do
39
+ subject.invoice_competencia_path.must_equal( [:nfse, :inf_nfse, :competencia] )
40
+ end
41
+
42
+ it 'valor padrão para o método invoice_outras_informacoes_path' do
43
+ subject.invoice_outras_informacoes_path.must_equal( [:nfse, :inf_nfse, :outras_informacoes] )
44
+ end
45
+
46
+ it 'valor padrão para o método invoice_item_lista_servico_path' do
47
+ subject.invoice_item_lista_servico_path.must_equal( [:nfse, :inf_nfse, :intermediario_servico] )
48
+ end
49
+
50
+ it 'valor padrão para o método invoice_cnae_code_path' do
51
+ subject.invoice_cnae_code_path.must_equal( [:nfse, :inf_nfse, :servico, :codigo_cnae] )
52
+ end
53
+
54
+ it 'valor padrão para o método invoice_description_path' do
55
+ subject.invoice_description_path.must_equal( [:nfse, :inf_nfse, :servico, :discriminacao] )
56
+ end
57
+
58
+ it 'valor padrão para o método invoice_codigo_municipio_path' do
59
+ subject.invoice_codigo_municipio_path.must_equal( [:nfse, :inf_nfse, :servico, :codigo_municipio] )
60
+ end
61
+
62
+ it 'valor padrão para o método invoice_total_services_path' do
63
+ subject.invoice_total_services_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :valor_servicos] )
64
+ end
65
+
66
+ it 'valor padrão para o método invoice_deductions_path' do
67
+ subject.invoice_deductions_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :valor_deducoes] )
68
+ end
69
+
70
+ it 'valor padrão para o método invoice_valor_pis_path' do
71
+ subject.invoice_valor_pis_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :valor_pis] )
72
+ end
73
+
74
+ it 'valor padrão para o método invoice_valor_cofins_path' do
75
+ subject.invoice_valor_cofins_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :valor_cofins] )
76
+ end
77
+
78
+ it 'valor padrão para o método invoice_valor_inss_path' do
79
+ subject.invoice_valor_inss_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :valor_inss] )
80
+ end
81
+
82
+ it 'valor padrão para o método invoice_valor_ir_path' do
83
+ subject.invoice_valor_ir_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :valor_ir] )
84
+ end
85
+
86
+ it 'valor padrão para o método invoice_valor_csll_path' do
87
+ subject.invoice_valor_csll_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :valor_csll] )
88
+ end
89
+
90
+ it 'valor padrão para o método invoice_iss_retained_path' do
91
+ subject.invoice_iss_retained_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :valor_iss_retido] )
92
+ end
93
+
94
+ it 'valor padrão para o método invoice_outras_retencoes_path' do
95
+ subject.invoice_outras_retencoes_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :outras_retencoes] )
96
+ end
97
+
98
+ it 'valor padrão para o método invoice_total_iss_path' do
99
+ subject.invoice_total_iss_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :valor_iss] )
100
+ end
101
+
102
+ it 'valor padrão para o método invoice_base_calculation_path' do
103
+ subject.invoice_base_calculation_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :base_calculo] )
104
+ end
105
+
106
+ it 'valor padrão para o método invoice_iss_tax_rate_path' do
107
+ subject.invoice_iss_tax_rate_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :iss_retido] )
108
+ end
109
+
110
+ it 'valor padrão para o método invoice_valor_liquido_path' do
111
+ subject.invoice_valor_liquido_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :valor_liquido_nfse] )
112
+ end
113
+
114
+ it 'valor padrão para o método invoice_desconto_condicionado_path' do
115
+ subject.invoice_desconto_condicionado_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :desconto_condicionado] )
116
+ end
117
+
118
+ it 'valor padrão para o método invoice_desconto_incondicionado_path' do
119
+ subject.invoice_desconto_incondicionado_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :desconto_incondicionado] )
120
+ end
121
+
122
+ end