br_nfe 2.1.0 → 2.1.1

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 +1 -0
  3. data/.travis.yml +0 -1
  4. data/Gemfile.lock +1 -1
  5. data/README.markdown +264 -106
  6. data/lib/br_nfe/{helper → association}/have_address.rb +1 -1
  7. data/lib/br_nfe/{helper → association}/have_condicao_pagamento.rb +1 -1
  8. data/lib/br_nfe/association/have_destinatario.rb +22 -0
  9. data/lib/br_nfe/association/have_emitente.rb +24 -0
  10. data/lib/br_nfe/base.rb +37 -27
  11. data/lib/br_nfe/condicao_pagamento.rb +2 -0
  12. data/lib/br_nfe/constants.rb +33 -0
  13. data/lib/br_nfe/endereco.rb +10 -0
  14. data/lib/br_nfe/helper/string_methods.rb +4 -0
  15. data/lib/br_nfe/{emitente.rb → person.rb} +11 -7
  16. data/lib/br_nfe/product/base.rb +82 -0
  17. data/lib/br_nfe/product/consulta_status_servico.rb +35 -0
  18. data/lib/br_nfe/product/emitente.rb +8 -0
  19. data/lib/br_nfe/product/gateway/base.rb +62 -0
  20. data/lib/br_nfe/product/gateway/web_service_svrs.rb +39 -0
  21. data/lib/br_nfe/product/value_nf.rb +9 -0
  22. data/lib/br_nfe/product/xml/soap_env.xml.slim +8 -0
  23. data/lib/br_nfe/product/xml/v3_10/XSD/consReciNFe_v3.10.xsd +9 -0
  24. data/lib/br_nfe/product/xml/v3_10/XSD/consSitNFe_v3.10.xsd +9 -0
  25. data/lib/br_nfe/product/xml/v3_10/XSD/consStatServ_v3.10.xsd +9 -0
  26. data/lib/br_nfe/product/xml/v3_10/XSD/enviNFe_v3.10.xsd +9 -0
  27. data/lib/br_nfe/product/xml/v3_10/XSD/inutNFe_v3.10.xsd +9 -0
  28. data/lib/br_nfe/product/xml/v3_10/XSD/leiauteConsSitNFe_v3.10.xsd +502 -0
  29. data/lib/br_nfe/product/xml/v3_10/XSD/leiauteConsStatServ_v3.10.xsd +98 -0
  30. data/lib/br_nfe/product/xml/v3_10/XSD/leiauteInutNFe_v3.10.xsd +193 -0
  31. data/lib/br_nfe/product/xml/v3_10/XSD/leiauteNFe_v3.10.xsd +6060 -0
  32. data/lib/br_nfe/product/xml/v3_10/XSD/nfe_v3.10.xsd +9 -0
  33. data/lib/br_nfe/product/xml/v3_10/XSD/procInutNFe_v3.10.xsd +9 -0
  34. data/lib/br_nfe/product/xml/v3_10/XSD/procNFe_v3.10.xsd +9 -0
  35. data/lib/br_nfe/product/xml/v3_10/XSD/retConsReciNFe_v3.10.xsd +9 -0
  36. data/lib/br_nfe/product/xml/v3_10/XSD/retConsSitNFe_v3.10.xsd +9 -0
  37. data/lib/br_nfe/product/xml/v3_10/XSD/retConsStatServ_v3.10.xsd +9 -0
  38. data/lib/br_nfe/product/xml/v3_10/XSD/retEnviNFe_v3.10.xsd +9 -0
  39. data/lib/br_nfe/product/xml/v3_10/XSD/retInutNFe_v3.10.xsd +9 -0
  40. data/lib/br_nfe/product/xml/v3_10/XSD/tiposBasico_v3.10.xsd +571 -0
  41. data/lib/br_nfe/product/xml/v3_10/XSD/xmldsig-core-schema_v1.01.xsd +98 -0
  42. data/lib/br_nfe/product/xml/v3_10/consulta_status_servico.xml.slim +4 -0
  43. data/lib/br_nfe/service/association/have_intermediario.rb +26 -0
  44. data/lib/br_nfe/service/association/have_rps.rb +36 -0
  45. data/lib/br_nfe/service/base.rb +24 -20
  46. data/lib/br_nfe/service/betha/v1/cancela_nfse.rb +43 -0
  47. data/lib/br_nfe/service/betha/v1/consulta_lote_rps.rb +20 -6
  48. data/lib/br_nfe/service/betha/v1/consulta_nfs_por_rps.rb +17 -6
  49. data/lib/br_nfe/service/betha/v1/consulta_nfse.rb +16 -5
  50. data/lib/br_nfe/service/betha/v1/consulta_situacao_lote_rps.rb +15 -6
  51. data/lib/br_nfe/service/betha/v1/gateway.rb +4 -0
  52. data/lib/br_nfe/service/betha/v1/recepcao_lote_rps.rb +13 -5
  53. data/lib/br_nfe/service/betha/v1/xml/_tc_identificacao_prestador.xml.slim +3 -0
  54. data/lib/br_nfe/service/betha/v1/xml/_tc_pedido_cancelamento.xml.slim +4 -0
  55. data/lib/br_nfe/service/concerns/rules/cancelamento_nfs.rb +8 -0
  56. data/lib/br_nfe/service/concerns/rules/consulta_nfs_por_rps.rb +1 -1
  57. data/lib/br_nfe/service/concerns/rules/consulta_nfse.rb +5 -2
  58. data/lib/br_nfe/service/concerns/values_ts/service_v1.rb +319 -0
  59. data/lib/br_nfe/service/destinatario.rb +7 -0
  60. data/lib/br_nfe/service/emitente.rb +8 -0
  61. data/lib/br_nfe/service/intermediario.rb +1 -12
  62. data/lib/br_nfe/service/item.rb +7 -7
  63. data/lib/br_nfe/service/response/build/base.rb +166 -0
  64. data/lib/br_nfe/service/response/build/cancelamento.rb +62 -0
  65. data/lib/br_nfe/service/response/build/consulta_lote_rps.rb +25 -0
  66. data/lib/br_nfe/service/response/build/consulta_nfs_por_rps.rb +25 -0
  67. data/lib/br_nfe/service/response/build/consulta_nfse.rb +24 -0
  68. data/lib/br_nfe/service/response/build/consulta_situacao_lote_rps.rb +56 -0
  69. data/lib/br_nfe/service/response/build/invoice_build.rb +359 -0
  70. data/lib/br_nfe/service/response/build/recepcao_lote_rps.rb +69 -0
  71. data/lib/br_nfe/service/response/cancelamento.rb +22 -0
  72. data/lib/br_nfe/service/response/consulta_lote_rps.rb +18 -0
  73. data/lib/br_nfe/service/response/consulta_nfs_por_rps.rb +10 -0
  74. data/lib/br_nfe/service/response/consulta_nfse.rb +10 -0
  75. data/lib/br_nfe/service/response/consulta_situacao_lote_rps.rb +74 -0
  76. data/lib/br_nfe/service/response/default.rb +93 -0
  77. data/lib/br_nfe/{response/service → service/response}/nota_fiscal.rb +19 -12
  78. data/lib/br_nfe/service/response/paths/v1/tc_nfse.rb +275 -0
  79. data/lib/br_nfe/service/response/recepcao_lote_rps.rb +35 -0
  80. data/lib/br_nfe/service/rps.rb +30 -27
  81. data/lib/br_nfe/service/sc/florianopolis/xml/_service_item.xml.slim +4 -4
  82. data/lib/br_nfe/service/sc/florianopolis/xml/inf_requisicao.xml.slim +4 -4
  83. data/lib/br_nfe/service/simpliss/v1/cancela_nfse.rb +16 -6
  84. data/lib/br_nfe/service/simpliss/v1/consulta_lote_rps.rb +20 -12
  85. data/lib/br_nfe/service/simpliss/v1/consulta_nfs_por_rps.rb +21 -6
  86. data/lib/br_nfe/service/simpliss/v1/consulta_nfse.rb +20 -6
  87. data/lib/br_nfe/service/simpliss/v1/consulta_situacao_lote_rps.rb +17 -6
  88. data/lib/br_nfe/service/simpliss/v1/recepcao_lote_rps.rb +16 -4
  89. data/lib/br_nfe/service/simpliss/v1/xml/_tc_item_servico.xml.slim +2 -2
  90. data/lib/br_nfe/service/thema/v1/cancela_nfse.rb +21 -19
  91. data/lib/br_nfe/service/thema/v1/consulta_lote_rps.rb +21 -19
  92. data/lib/br_nfe/service/thema/v1/consulta_nfs_por_rps.rb +25 -18
  93. data/lib/br_nfe/service/thema/v1/consulta_nfse.rb +20 -20
  94. data/lib/br_nfe/service/thema/v1/consulta_situacao_lote_rps.rb +14 -20
  95. data/lib/br_nfe/service/thema/v1/recepcao_lote_rps.rb +11 -16
  96. data/lib/br_nfe/service/thema/v1/recepcao_lote_rps_limitado.rb +8 -6
  97. data/lib/br_nfe/service/xml/v1/_tc_identificacao_nfse.xml.slim +1 -1
  98. data/lib/br_nfe/service/xml/v1/_tc_pedido_cancelamento.xml.slim +1 -1
  99. data/lib/br_nfe/service/xml/v1/_tc_valores.xml.slim +11 -11
  100. data/lib/br_nfe/version.rb +1 -1
  101. data/lib/br_nfe.rb +62 -62
  102. data/test/br_nfe/association/have_address_test.rb +64 -0
  103. data/test/br_nfe/association/have_condicao_pagamento_test.rb +75 -0
  104. data/test/br_nfe/association/have_destinatario_test.rb +76 -0
  105. data/test/br_nfe/association/have_emitente_test.rb +80 -0
  106. data/test/br_nfe/base_test.rb +96 -61
  107. data/test/br_nfe/endereco_test.rb +21 -0
  108. data/test/br_nfe/person_test.rb +55 -0
  109. data/test/br_nfe/product/base_test.rb +150 -0
  110. data/test/br_nfe/product/consulta_status_servico_test.rb +59 -0
  111. data/test/br_nfe/product/emitente_test.rb +29 -0
  112. data/test/br_nfe/product/gateway/base_test.rb +16 -0
  113. data/test/br_nfe/product/gateway/web_service_svrs_test.rb +36 -0
  114. data/test/br_nfe/service/association/have_intermediario_test.rb +80 -0
  115. data/test/br_nfe/service/association/have_rps_test.rb +62 -0
  116. data/test/br_nfe/service/base_test.rb +42 -42
  117. data/test/br_nfe/service/betha/v1/cancela_nfse_test.rb +90 -0
  118. data/test/br_nfe/service/betha/v1/consulta_lote_rps_test.rb +105 -5
  119. data/test/br_nfe/service/betha/v1/consulta_nfs_por_rps_test.rb +103 -5
  120. data/test/br_nfe/service/betha/v1/consulta_nfse_test.rb +114 -5
  121. data/test/br_nfe/service/betha/v1/consulta_situacao_lote_rps_test.rb +118 -5
  122. data/test/br_nfe/service/betha/v1/gateway_test.rb +1 -1
  123. data/test/br_nfe/service/betha/v1/recepcao_lote_rps_test.rb +51 -5
  124. data/test/br_nfe/service/concerns/rules/cancelamento_nfs_test.rb +2 -2
  125. data/test/br_nfe/service/concerns/rules/consulta_nfs_por_rps_test.rb +2 -7
  126. data/test/br_nfe/service/concerns/rules/consulta_nfse_test.rb +24 -3
  127. data/test/br_nfe/service/concerns/rules/recepcao_lote_rps_test.rb +1 -1
  128. data/test/br_nfe/{helper → service/concerns}/values_ts/service_v1_test.rb +2 -2
  129. data/test/br_nfe/{destinatario_test.rb → service/destinatario_test.rb} +3 -4
  130. data/test/br_nfe/service/emitente_test.rb +29 -0
  131. data/test/br_nfe/service/item_test.rb +14 -14
  132. data/test/br_nfe/service/response/build/base_test.rb +80 -0
  133. data/test/br_nfe/{response/service → service/response}/default_test.rb +1 -82
  134. data/test/br_nfe/service/response/nota_fiscal_test.rb +59 -0
  135. data/test/br_nfe/{response/service → service/response}/paths/v1/tc_nfse_test.rb +10 -10
  136. data/test/br_nfe/service/rps_test.rb +107 -138
  137. data/test/br_nfe/service/sc/florianopolis/emission_rps_test.rb +9 -9
  138. data/test/br_nfe/service/simpliss/v1/base_test.rb +1 -1
  139. data/test/br_nfe/service/simpliss/v1/cancela_nfse_test.rb +7 -10
  140. data/test/br_nfe/service/simpliss/v1/consulta_lote_rps_test.rb +11 -18
  141. data/test/br_nfe/service/simpliss/v1/consulta_nfs_por_rps_test.rb +11 -18
  142. data/test/br_nfe/service/simpliss/v1/consulta_nfse_test.rb +11 -18
  143. data/test/br_nfe/service/simpliss/v1/consulta_situacao_lote_rps_test.rb +7 -11
  144. data/test/br_nfe/service/simpliss/v1/recepcao_lote_rps_test.rb +3 -9
  145. data/test/br_nfe/service/thema/v1/base_test.rb +1 -1
  146. data/test/br_nfe/service/thema/v1/cancela_nfse_test.rb +7 -14
  147. data/test/br_nfe/service/thema/v1/consulta_lote_rps_test.rb +6 -17
  148. data/test/br_nfe/service/thema/v1/consulta_nfs_por_rps_test.rb +6 -13
  149. data/test/br_nfe/service/thema/v1/consulta_nfse_test.rb +11 -18
  150. data/test/br_nfe/service/thema/v1/consulta_situacao_lote_rps_test.rb +7 -11
  151. data/test/br_nfe/service/thema/v1/recepcao_lote_rps_limitado_test.rb +1 -5
  152. data/test/br_nfe/service/thema/v1/recepcao_lote_rps_test.rb +3 -9
  153. data/test/factories/base.rb +0 -1
  154. data/test/factories/{emitente.rb → person.rb} +1 -1
  155. data/test/factories/product/base.rb +12 -0
  156. data/test/factories/product/consulta_status_servico.rb +12 -0
  157. data/test/factories/product/emitente.rb +15 -0
  158. data/test/factories/product/gateway/base.rb +5 -0
  159. data/test/factories/product/gateway/web_service_svrs.rb +5 -0
  160. data/test/factories/service/betha/v1/{cancelamento_nfs.rb → cancela_nfse.rb} +2 -1
  161. data/test/factories/service/betha/v1/consulta_lote_rps.rb +1 -1
  162. data/test/factories/service/betha/v1/consulta_nfs_por_rps.rb +1 -1
  163. data/test/factories/service/betha/v1/consulta_nfse.rb +1 -1
  164. data/test/factories/service/betha/v1/consulta_situacao_lote_rps.rb +1 -1
  165. data/test/factories/{destinatario.rb → service/destinatario.rb} +1 -1
  166. data/test/factories/service/emitente.rb +15 -0
  167. data/test/factories/service/item.rb +4 -4
  168. data/test/factories/service/response/build_response.rb +5 -0
  169. data/test/factories/service/response/default.rb +6 -0
  170. data/test/factories/{response/service → service/response}/nota_fiscal.rb +8 -8
  171. data/test/factories/service/rps.rb +11 -11
  172. data/test/factories/service/sc/florianopolis/base.rb +1 -1
  173. data/test/factories/service/sc/florianopolis/cancellation.rb +1 -1
  174. data/test/factories/service/sc/florianopolis/emission_rps.rb +1 -1
  175. data/test/factories/service/simpliss/v1/base.rb +1 -1
  176. data/test/factories/service/simpliss/v1/cancela_nfse.rb +1 -1
  177. data/test/factories/service/simpliss/v1/consulta_lote_rps.rb +1 -1
  178. data/test/factories/service/simpliss/v1/consulta_nfs_por_rps.rb +1 -1
  179. data/test/factories/service/simpliss/v1/consulta_nfse.rb +1 -1
  180. data/test/factories/service/simpliss/v1/consulta_situacao_lote_rps.rb +1 -1
  181. data/test/factories/service/simpliss/v1/recepcao_lote_rps.rb +1 -1
  182. data/test/factories/service/thema/v1/base.rb +1 -1
  183. data/test/factories/service/thema/v1/cancela_nfse.rb +1 -1
  184. data/test/factories/service/thema/v1/consulta_lote_rps.rb +1 -1
  185. data/test/factories/service/thema/v1/consulta_nfs_por_rps.rb +1 -1
  186. data/test/factories/service/thema/v1/consulta_nfse.rb +1 -1
  187. data/test/factories/service/thema/v1/consulta_situacao_lote_rps.rb +1 -1
  188. data/test/factories/service/thema/v1/recepcao_lote_rps.rb +1 -1
  189. data/test/fixtures/service/response/betha/v1/cancela_nfse/fault.xml +17 -0
  190. data/test/fixtures/service/response/betha/v1/cancela_nfse/success.xml +48 -0
  191. data/test/fixtures/service/response/betha/v1/consulta_lote_rps/fault.xml +18 -0
  192. data/test/fixtures/service/response/betha/v1/consulta_lote_rps/success.xml +108 -0
  193. data/test/fixtures/service/response/betha/v1/consulta_nfse/fault.xml +18 -0
  194. data/test/fixtures/service/response/betha/v1/consulta_nfse/nfs_empty.xml +12 -0
  195. data/test/fixtures/service/response/betha/v1/consulta_nfse/success.xml +115 -0
  196. data/test/fixtures/service/response/betha/v1/consulta_nfse_por_rps/fault.xml +18 -0
  197. data/test/fixtures/service/response/betha/v1/consulta_nfse_por_rps/success.xml +103 -0
  198. data/test/fixtures/service/response/betha/v1/consulta_situacao_lote_rps/error.xml +13 -0
  199. data/test/fixtures/service/response/betha/v1/consulta_situacao_lote_rps/fault.xml +17 -0
  200. data/test/fixtures/service/response/betha/v1/consulta_situacao_lote_rps/success.xml +13 -0
  201. data/test/fixtures/service/response/betha/v1/consulta_situacao_lote_rps/unprocessed.xml +13 -0
  202. data/test/fixtures/service/response/betha/v1/consulta_situacao_lote_rps/unprocessed_by_code_error.xml +17 -0
  203. data/test/fixtures/service/response/betha/v1/consulta_situacao_lote_rps/unreceived.xml +13 -0
  204. data/test/fixtures/service/response/betha/v1/consulta_situacao_lote_rps/unreceived_by_code_error.xml +17 -0
  205. data/test/fixtures/service/response/betha/v1/recepcao_lote_rps/error.xml +17 -0
  206. data/test/fixtures/service/response/betha/v1/recepcao_lote_rps/success.xml +14 -0
  207. metadata +160 -94
  208. data/lib/br_nfe/destinatario.rb +0 -26
  209. data/lib/br_nfe/helper/have_destinatario.rb +0 -18
  210. data/lib/br_nfe/helper/have_emitente.rb +0 -20
  211. data/lib/br_nfe/helper/have_intermediario.rb +0 -24
  212. data/lib/br_nfe/helper/have_rps.rb +0 -34
  213. data/lib/br_nfe/helper/values_ts/service_v1.rb +0 -317
  214. data/lib/br_nfe/response/service/build_response.rb +0 -463
  215. data/lib/br_nfe/response/service/default.rb +0 -185
  216. data/lib/br_nfe/response/service/paths/base.rb +0 -127
  217. data/lib/br_nfe/response/service/paths/v1/servico_cancelar_nfse_resposta.rb +0 -22
  218. data/lib/br_nfe/response/service/paths/v1/servico_consultar_lote_rps_resposta.rb +0 -25
  219. data/lib/br_nfe/response/service/paths/v1/servico_consultar_nfse_resposta.rb +0 -25
  220. data/lib/br_nfe/response/service/paths/v1/servico_consultar_nfse_rps_resposta.rb +0 -25
  221. data/lib/br_nfe/response/service/paths/v1/servico_consultar_situacao_lote_rps_resposta.rb +0 -31
  222. data/lib/br_nfe/response/service/paths/v1/servico_enviar_lote_rps_resposta.rb +0 -36
  223. data/lib/br_nfe/response/service/paths/v1/tc_nfse.rb +0 -271
  224. data/lib/br_nfe/service/betha/v1/cancelamento_nfs.rb +0 -36
  225. data/lib/br_nfe/service/betha/v1/response_paths/servico_consultar_lote_rps_resposta.rb +0 -23
  226. data/lib/br_nfe/service/betha/v1/response_paths/servico_consultar_nfse_resposta.rb +0 -21
  227. data/lib/br_nfe/service/betha/v1/response_paths/servico_consultar_nfse_rps_resposta.rb +0 -21
  228. data/lib/br_nfe/service/simpliss/v1/response_paths/servico_cancelar_nfse_resposta.rb +0 -22
  229. data/lib/br_nfe/service/simpliss/v1/response_paths/servico_consultar_lote_rps_resposta.rb +0 -25
  230. data/lib/br_nfe/service/simpliss/v1/response_paths/servico_consultar_nfse_resposta.rb +0 -25
  231. data/lib/br_nfe/service/simpliss/v1/response_paths/servico_consultar_nfse_rps_resposta.rb +0 -25
  232. data/lib/br_nfe/service/simpliss/v1/response_paths/servico_consultar_situacao_lote_rps_resposta.rb +0 -31
  233. data/lib/br_nfe/service/simpliss/v1/response_paths/servico_enviar_lote_rps_resposta.rb +0 -36
  234. data/lib/br_nfe/service/thema/v1/response_paths/servico_cancelar_nfse_resposta.rb +0 -17
  235. data/lib/br_nfe/service/thema/v1/response_paths/servico_consultar_nfse_rps_resposta.rb +0 -19
  236. data/test/br_nfe/emitente_test.rb +0 -46
  237. data/test/br_nfe/helper/have_address_test.rb +0 -62
  238. data/test/br_nfe/helper/have_condicao_pagamento_test.rb +0 -71
  239. data/test/br_nfe/helper/have_destinatario_test.rb +0 -64
  240. data/test/br_nfe/helper/have_emitente_test.rb +0 -63
  241. data/test/br_nfe/helper/have_intermediario_test.rb +0 -77
  242. data/test/br_nfe/helper/have_rps_test.rb +0 -59
  243. data/test/br_nfe/response/service/build_response_test.rb +0 -205
  244. data/test/br_nfe/response/service/nota_fiscal_test.rb +0 -41
  245. data/test/br_nfe/response/service/paths/base_test.rb +0 -196
  246. data/test/br_nfe/response/service/paths/v1/servico_cancelar_nfse_resposta_test.rb +0 -25
  247. data/test/br_nfe/response/service/paths/v1/servico_consultar_lote_rps_resposta_test.rb +0 -30
  248. data/test/br_nfe/response/service/paths/v1/servico_consultar_nfse_resposta_test.rb +0 -30
  249. data/test/br_nfe/response/service/paths/v1/servico_consultar_nfse_rps_resposta_test.rb +0 -30
  250. data/test/br_nfe/response/service/paths/v1/servico_consultar_situacao_lote_rps_resposta_test.rb +0 -30
  251. data/test/br_nfe/response/service/paths/v1/servico_enviar_lote_rps_resposta_test.rb +0 -34
  252. data/test/br_nfe/service/betha/v1/cancelamento_nfs_test.rb +0 -54
  253. data/test/br_nfe/service/betha/v1/response_paths/servico_consultar_lote_rps_resposta_test.rb +0 -16
  254. data/test/br_nfe/service/betha/v1/response_paths/servico_consultar_nfse_resposta_test.rb +0 -16
  255. data/test/br_nfe/service/betha/v1/response_paths/servico_consultar_nfse_rps_resposta_test.rb +0 -16
  256. data/test/factories/response/service/build_response.rb +0 -5
  257. data/test/factories/response/service/default.rb +0 -10
@@ -1,6 +1,6 @@
1
1
  require 'test_helper'
2
2
 
3
- describe BrNfe::Response::Service::Default do
3
+ describe BrNfe::Service::Response::Default do
4
4
  subject { FactoryGirl.build(:response_service_default) }
5
5
 
6
6
 
@@ -133,86 +133,5 @@ describe BrNfe::Response::Service::Default do
133
133
  end
134
134
  end
135
135
 
136
- describe 'array de erros que correspondem a determinadas situações do estado do RPS' do
137
- describe '#situation_unreceived_code_errors' do
138
- let(:default_codes) { ['E4'] }
139
- it 'por padrão deve retornar os codigos padrões correspondente a sutiação unreceived' do
140
- subject.situation_unreceived_code_errors.must_equal( default_codes )
141
- end
142
- it 'ao setar um valor deve acrescentar o valor padrão e não sobrescrever' do
143
- subject.situation_unreceived_code_errors = [['code2','code3'],'code4']
144
- subject.situation_unreceived_code_errors.must_equal( ['code2','code3','code4']+default_codes )
145
- end
146
- end
147
-
148
- describe '#situation_unprocessed_code_errors' do
149
- let(:default_codes) { ['E92'] }
150
- it 'por padrão deve retornar os codigos padrões correspondente a sutiação unprocessed' do
151
- subject.situation_unprocessed_code_errors.must_equal( default_codes )
152
- end
153
- it 'ao setar um valor deve acrescentar o valor padrão e não sobrescrever' do
154
- subject.situation_unprocessed_code_errors = [['code2','code3'],'code4']
155
- subject.situation_unprocessed_code_errors.must_equal( ['code2','code3','code4']+default_codes )
156
- end
157
- end
158
-
159
- describe '#situation_success_code_errors' do
160
- let(:default_codes) { [] }
161
- it 'por padrão deve retornar os codigos padrões correspondente a sutiação success' do
162
- subject.situation_success_code_errors.must_equal( default_codes )
163
- end
164
- it 'ao setar um valor deve acrescentar o valor padrão e não sobrescrever' do
165
- subject.situation_success_code_errors = [['code2','code3'],'code4']
166
- subject.situation_success_code_errors.must_equal( ['code2','code3','code4']+default_codes )
167
- end
168
- end
169
- end
170
-
171
- describe '#get_situation_by_message_codes' do
172
- before do
173
- subject.stubs(:message_codes).returns(['ERR1','ERR2'])
174
- end
175
- it "deve retornar :unreceived se alguma mensagem de erro estiver entre as mensagens do metodo situation_unreceived_code_errors" do
176
- subject.situation_unreceived_code_errors = 'ERR1'
177
- subject.get_situation_by_message_codes.must_equal :unreceived
178
- end
179
- it "deve retornar :unprocessed se alguma mensagem de erro estiver entre as mensagens do metodo situation_unprocessed_code_errors" do
180
- subject.situation_unprocessed_code_errors = 'ERR1'
181
- subject.get_situation_by_message_codes.must_equal :unprocessed
182
- end
183
- it "deve retornar :success se alguma mensagem de erro estiver entre as mensagens do metodo situation_success_code_errors" do
184
- subject.situation_success_code_errors = 'ERR1'
185
- subject.get_situation_by_message_codes.must_equal :success
186
- end
187
- it "deve retornar :error se o codigo não estiver presente em nenhum dos metodos com os codigos padrões" do
188
- subject.get_situation_by_message_codes.must_equal :error
189
- end
190
- it "se não houver nenhuma mensagem de erro deve retornar nil" do
191
- subject.unstub(:message_codes)
192
- subject.get_situation_by_message_codes.must_be_nil
193
- end
194
- end
195
-
196
- describe '#situation' do
197
- it "se não houver setado uma situação e tiver alguma mensagem de erro deve buscar o valor da situação no metodo #get_situation_by_message_codes" do
198
- subject.situation = nil
199
- subject.stubs(:error_messages).returns(['a error'])
200
- subject.expects(:get_situation_by_message_codes).returns(:sit)
201
- subject.situation.must_equal :sit
202
- subject.instance_variable_get(:@situation).must_equal :sit
203
- end
204
- it "se não houver setado uma situação e também não tiver mensagem de erro deve retornar nil" do
205
- subject.situation = nil
206
- subject.stubs(:error_messages).returns([])
207
- subject.expects(:get_situation_by_message_codes).never
208
- subject.situation.must_be_nil
209
- end
210
- it "mesmo com mensagem de erro se tiver algum valor na situação não deve tentar buscar a situação pelos codigos de erros" do
211
- subject.situation = :some_value
212
- subject.stubs(:error_messages).returns(['a error'])
213
- subject.expects(:get_situation_by_message_codes).never
214
- subject.situation.must_equal :some_value
215
- end
216
- end
217
136
 
218
137
  end
@@ -0,0 +1,59 @@
1
+ require 'test_helper'
2
+
3
+ describe BrNfe::Service::Response::NotaFiscal do
4
+ subject { FactoryGirl.build(:response_service_nota_fiscal, emitente: emitente) }
5
+ let(:emitente) { FactoryGirl.build(:service_emitente) }
6
+ let(:destinatario) { subject.destinatario }
7
+ let(:intermediario) { subject.intermediario }
8
+ let(:condicao_pagamento) { subject.condicao_pagamento }
9
+
10
+ describe "#emitente" do
11
+ it "deve conter o module HaveEmitente" do
12
+ subject.class.included_modules.must_include BrNfe::Association::HaveEmitente
13
+ end
14
+ end
15
+
16
+ describe "#destinatario" do
17
+ class OtherClassDestinatario < BrNfe::ActiveModelBase
18
+ end
19
+ it "deve ter incluso o module HaveDestinatario" do
20
+ subject.class.included_modules.must_include BrNfe::Association::HaveDestinatario
21
+ end
22
+ it "o método #destinatario_class deve ter por padrão a class BrNfe::Service::Destinatario" do
23
+ subject.destinatario.must_be_kind_of BrNfe::Service::Destinatario
24
+ subject.send(:destinatario_class).must_equal BrNfe::Service::Destinatario
25
+ end
26
+ it "a class do destinatario pode ser modificada através da configuração destinatario_service_class" do
27
+ BrNfe.destinatario_service_class = OtherClassDestinatario
28
+ subject.destinatario.must_be_kind_of OtherClassDestinatario
29
+ subject.send(:destinatario_class).must_equal OtherClassDestinatario
30
+
31
+ # É necessário voltar a configuração original para não falhar outros testes
32
+ BrNfe.destinatario_service_class = BrNfe::Service::Destinatario
33
+ end
34
+ end
35
+
36
+ describe "#intermediario" do
37
+ it "deve ter incluso o module BrNfe::Association::HaveIntermediario" do
38
+ subject.class.included_modules.must_include BrNfe::Service::Association::HaveIntermediario
39
+ end
40
+ end
41
+
42
+ describe "#condicao_pagamento" do
43
+ it "deve ter incluso o module BrNfe::Association::HaveCondicaoPagamento" do
44
+ subject.class.included_modules.must_include BrNfe::Association::HaveCondicaoPagamento
45
+ end
46
+ end
47
+
48
+ describe "#substituida?" do
49
+ it "quando tem valor em nfe_substituidora" do
50
+ subject.nfe_substituidora = '666'
51
+ subject.substituida?.must_equal true
52
+ end
53
+
54
+ it "quando não tem valor na nfe_substituidora" do
55
+ subject.nfe_substituidora = ''
56
+ subject.substituida?.must_equal false
57
+ end
58
+ end
59
+ end
@@ -55,12 +55,12 @@ describe BrNfe::Service::Response::Paths::V1::TcNfse do
55
55
  subject.response_invoice_codigo_municipio_path.must_equal( [:nfse, :inf_nfse, :servico, :codigo_municipio] )
56
56
  end
57
57
 
58
- it 'valor padrão para o método invoice_total_services_path' do
59
- subject.response_invoice_total_services_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :valor_servicos] )
58
+ it 'valor padrão para o método invoice_valor_total_servicos_path' do
59
+ subject.response_invoice_valor_total_servicos_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :valor_servicos] )
60
60
  end
61
61
 
62
- it 'valor padrão para o método invoice_deductions_path' do
63
- subject.response_invoice_deductions_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :valor_deducoes] )
62
+ it 'valor padrão para o método invoice_deducoes_path' do
63
+ subject.response_invoice_deducoes_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :valor_deducoes] )
64
64
  end
65
65
 
66
66
  it 'valor padrão para o método invoice_valor_pis_path' do
@@ -83,8 +83,8 @@ describe BrNfe::Service::Response::Paths::V1::TcNfse do
83
83
  subject.response_invoice_valor_csll_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :valor_csll] )
84
84
  end
85
85
 
86
- it 'valor padrão para o método invoice_iss_retained_path' do
87
- subject.response_invoice_iss_retained_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :iss_retido] )
86
+ it 'valor padrão para o método invoice_iss_retido_path' do
87
+ subject.response_invoice_iss_retido_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :iss_retido] )
88
88
  end
89
89
 
90
90
  it 'valor padrão para o método invoice_outras_retencoes_path' do
@@ -95,12 +95,12 @@ describe BrNfe::Service::Response::Paths::V1::TcNfse do
95
95
  subject.response_invoice_total_iss_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :valor_iss] )
96
96
  end
97
97
 
98
- it 'valor padrão para o método invoice_base_calculation_path' do
99
- subject.response_invoice_base_calculation_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :base_calculo] )
98
+ it 'valor padrão para o método invoice_base_calculo_path' do
99
+ subject.response_invoice_base_calculo_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :base_calculo] )
100
100
  end
101
101
 
102
- it 'valor padrão para o método invoice_iss_tax_rate_path' do
103
- subject.response_invoice_iss_tax_rate_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :aliquota] )
102
+ it 'valor padrão para o método invoice_iss_aliquota_path' do
103
+ subject.response_invoice_iss_aliquota_path.must_equal( [:nfse, :inf_nfse, :servico, :valores, :aliquota] )
104
104
  end
105
105
 
106
106
  it 'valor padrão para o método invoice_valor_liquido_path' do
@@ -2,7 +2,7 @@ require 'test_helper'
2
2
 
3
3
  describe BrNfe::Service::Rps do
4
4
  subject { FactoryGirl.build(:br_nfe_rps) }
5
- let(:destinatario) { FactoryGirl.build(:destinatario) }
5
+ let(:destinatario) { FactoryGirl.build(:service_destinatario) }
6
6
  let(:intermediario) { FactoryGirl.build(:intermediario) }
7
7
  let(:condicao_pagamento) { FactoryGirl.build(:condicao_pagamento) }
8
8
  let(:item_1) { FactoryGirl.build(:service_item) }
@@ -26,11 +26,11 @@ describe BrNfe::Service::Rps do
26
26
  it { must validate_presence_of(:item_lista_servico) }
27
27
  it { must validate_presence_of(:description) }
28
28
  it { must validate_presence_of(:codigo_municipio) }
29
- it { must validate_numericality_of(:total_services).is_greater_than(0) }
30
- it { must validate_numericality_of(:base_calculation).is_greater_than(0) }
29
+ it { must validate_numericality_of(:valor_total_servicos).is_greater_than(0) }
30
+ it { must validate_numericality_of(:base_calculo).is_greater_than(0) }
31
31
 
32
- it { must validate_numericality_of(:total_services) }
33
- it { must validate_numericality_of(:deductions) }
32
+ it { must validate_numericality_of(:valor_total_servicos) }
33
+ it { must validate_numericality_of(:deducoes) }
34
34
  it { must validate_numericality_of(:valor_pis) }
35
35
  it { must validate_numericality_of(:valor_cofins) }
36
36
  it { must validate_numericality_of(:valor_inss) }
@@ -38,8 +38,8 @@ describe BrNfe::Service::Rps do
38
38
  it { must validate_numericality_of(:valor_csll) }
39
39
  it { must validate_numericality_of(:outras_retencoes) }
40
40
  it { must validate_numericality_of(:total_iss) }
41
- it { must validate_numericality_of(:iss_tax_rate) }
42
- it { must validate_numericality_of(:base_calculation) }
41
+ it { must validate_numericality_of(:iss_aliquota) }
42
+ it { must validate_numericality_of(:base_calculo) }
43
43
  it { must validate_numericality_of(:desconto_incondicionado) }
44
44
  it { must validate_numericality_of(:desconto_condicionado) }
45
45
 
@@ -53,19 +53,19 @@ describe BrNfe::Service::Rps do
53
53
  subject.valid?
54
54
  end
55
55
 
56
- describe "option iss_retained?" do
56
+ describe "option iss_retido?" do
57
57
  context "quando for true" do
58
- before { subject.stubs(:iss_retained?).returns(true) }
58
+ before { subject.stubs(:iss_retido?).returns(true) }
59
59
  it { wont validate_presence_of(:total_iss) }
60
- it { wont validate_presence_of(:iss_tax_rate) }
60
+ it { wont validate_presence_of(:iss_aliquota) }
61
61
  end
62
62
  context "quando for false" do
63
63
  before do
64
64
  subject.items = []
65
- subject.stubs(:iss_retained?).returns(false)
65
+ subject.stubs(:iss_retido?).returns(false)
66
66
  end
67
67
  it { must validate_presence_of(:total_iss) }
68
- it { must validate_presence_of(:iss_tax_rate) }
68
+ it { must validate_presence_of(:iss_aliquota) }
69
69
  end
70
70
  end
71
71
  end
@@ -76,11 +76,11 @@ describe BrNfe::Service::Rps do
76
76
  it { wont validate_presence_of(:item_lista_servico) }
77
77
  it { wont validate_presence_of(:description) }
78
78
  it { wont validate_presence_of(:codigo_municipio) }
79
- it { wont validate_numericality_of(:total_services).is_greater_than(0) }
80
- it { wont validate_numericality_of(:base_calculation).is_greater_than(0) }
79
+ it { wont validate_numericality_of(:valor_total_servicos).is_greater_than(0) }
80
+ it { wont validate_numericality_of(:base_calculo).is_greater_than(0) }
81
81
 
82
- it { wont validate_numericality_of(:total_services) }
83
- it { wont validate_numericality_of(:deductions) }
82
+ it { wont validate_numericality_of(:valor_total_servicos) }
83
+ it { wont validate_numericality_of(:deducoes) }
84
84
  it { wont validate_numericality_of(:valor_pis) }
85
85
  it { wont validate_numericality_of(:valor_cofins) }
86
86
  it { wont validate_numericality_of(:valor_inss) }
@@ -88,8 +88,8 @@ describe BrNfe::Service::Rps do
88
88
  it { wont validate_numericality_of(:valor_csll) }
89
89
  it { wont validate_numericality_of(:outras_retencoes) }
90
90
  it { wont validate_numericality_of(:total_iss) }
91
- it { wont validate_numericality_of(:iss_tax_rate) }
92
- it { wont validate_numericality_of(:base_calculation) }
91
+ it { wont validate_numericality_of(:iss_aliquota) }
92
+ it { wont validate_numericality_of(:base_calculo) }
93
93
  it { wont validate_numericality_of(:desconto_incondicionado) }
94
94
  it { wont validate_numericality_of(:desconto_condicionado) }
95
95
 
@@ -103,21 +103,26 @@ describe BrNfe::Service::Rps do
103
103
  subject.valid?
104
104
  end
105
105
 
106
- describe "option iss_retained?" do
106
+ describe "option iss_retido?" do
107
107
  context "quando for true" do
108
- before { subject.stubs(:iss_retained?).returns(true) }
108
+ before { subject.stubs(:iss_retido?).returns(true) }
109
109
  it { wont validate_presence_of(:total_iss) }
110
- it { wont validate_presence_of(:iss_tax_rate) }
110
+ it { wont validate_presence_of(:iss_aliquota) }
111
111
  end
112
112
  context "quando for false" do
113
- before { subject.stubs(:iss_retained?).returns(false) }
113
+ before { subject.stubs(:iss_retido?).returns(false) }
114
114
  it { wont validate_presence_of(:total_iss) }
115
- it { wont validate_presence_of(:iss_tax_rate) }
115
+ it { wont validate_presence_of(:iss_aliquota) }
116
116
  end
117
117
  end
118
118
  end
119
119
  end
120
-
120
+ end
121
+
122
+ describe "#condicao_pagamento" do
123
+ it "deve ter incluso o module BrNfe::Association::HaveCondicaoPagamento" do
124
+ subject.class.included_modules.must_include BrNfe::Association::HaveCondicaoPagamento
125
+ end
121
126
  end
122
127
 
123
128
  describe "#replace_invoice?" do
@@ -142,58 +147,22 @@ describe BrNfe::Service::Rps do
142
147
  end
143
148
 
144
149
  describe "#destinatario" do
145
- it "sempre deve retornar um objeto BrNfe::Destinatario" do
146
- novo = BrNfe::Service::Rps.new
147
- novo.destinatario.class.must_equal BrNfe::Destinatario
148
- novo.destinatario = nil
149
- novo.destinatario.class.must_equal BrNfe::Destinatario
150
- novo.destinatario = 'outro valor qualquer'
151
- novo.destinatario.class.must_equal BrNfe::Destinatario
152
- end
153
-
154
- it "a classe do destinatario deve segir a configuração de BrNfe.destinatario_class" do
155
- BrNfe.destinatario_class = BrNfe::Emitente
156
-
157
- novo = BrNfe::Service::Rps.new
158
- novo.destinatario.class.must_equal BrNfe::Emitente
159
- novo.destinatario = nil
160
- novo.destinatario.class.must_equal BrNfe::Emitente
161
- novo.destinatario = 'outro valor qualquer'
162
- novo.destinatario.class.must_equal BrNfe::Emitente
163
-
164
- BrNfe.destinatario_class = BrNfe::Destinatario
150
+ class OtherClassDestinatario < BrNfe::ActiveModelBase
165
151
  end
166
-
167
- it "atributos pode ser atribuidos em forma de bloco" do
168
- subject.destinatario do |dest|
169
- dest.cpf_cnpj = '12345678901234'
170
- dest.telefone = '33666633'
171
- dest.email = 'mail@teste.com'
172
- end
173
- subject.destinatario.cpf_cnpj.must_equal '12345678901234'
174
- subject.destinatario.telefone.must_equal '33666633'
175
- subject.destinatario.email.must_equal 'mail@teste.com'
152
+ it "deve ter incluso o module HaveDestinatario" do
153
+ subject.class.included_modules.must_include BrNfe::Association::HaveDestinatario
176
154
  end
177
-
178
- it "atributos pode ser atribuidos em forma de hash" do
179
- subject.destinatario = {
180
- cpf_cnpj: '999879879',
181
- telefone: '99999999',
182
- email: 'mail@teste.com'
183
- }
184
- subject.destinatario.cpf_cnpj.must_equal '999879879'
185
- subject.destinatario.telefone.must_equal '99999999'
186
- subject.destinatario.email.must_equal 'mail@teste.com'
155
+ it "o método #destinatario_class deve ter por padrão a class BrNfe::Service::Destinatario" do
156
+ subject.destinatario.must_be_kind_of BrNfe::Service::Destinatario
157
+ subject.send(:destinatario_class).must_equal BrNfe::Service::Destinatario
187
158
  end
159
+ it "a class do destinatario pode ser modificada através da configuração destinatario_service_class" do
160
+ BrNfe.destinatario_service_class = OtherClassDestinatario
161
+ subject.destinatario.must_be_kind_of OtherClassDestinatario
162
+ subject.send(:destinatario_class).must_equal OtherClassDestinatario
188
163
 
189
- it "pode modificar o objeto do atributo" do
190
- destinatario_old = subject.destinatario
191
- subject.destinatario.must_equal destinatario_old
192
- subject.destinatario.wont_equal destinatario
193
-
194
- subject.destinatario = destinatario
195
- subject.destinatario.wont_equal destinatario_old
196
- subject.destinatario.must_equal destinatario
164
+ # É necessário voltar a configuração original para não falhar outros testes
165
+ BrNfe.destinatario_service_class = BrNfe::Service::Destinatario
197
166
  end
198
167
  end
199
168
 
@@ -205,11 +174,11 @@ describe BrNfe::Service::Rps do
205
174
  novo.intermediario.must_be_nil
206
175
  end
207
176
 
208
- it "a classe do intermediario deve segir a configuração de BrNfe.intermediario_class" do
209
- BrNfe.intermediario_class = BrNfe::Emitente
177
+ it "a classe do intermediario deve segir a configuração de BrNfe.intermediario_service_class" do
178
+ BrNfe.intermediario_service_class = BrNfe::Service::Emitente
210
179
 
211
- novo = BrNfe::Service::Rps.new(intermediario: BrNfe::Emitente.new)
212
- novo.intermediario.class.must_equal BrNfe::Emitente
180
+ novo = BrNfe::Service::Rps.new(intermediario: BrNfe::Service::Emitente.new)
181
+ novo.intermediario.class.must_equal BrNfe::Service::Emitente
213
182
 
214
183
  novo.intermediario = nil
215
184
  novo.intermediario.must_be_nil
@@ -217,7 +186,7 @@ describe BrNfe::Service::Rps do
217
186
  novo.intermediario = 'outro valor qualquer'
218
187
  novo.intermediario.must_be_nil
219
188
 
220
- BrNfe.intermediario_class = BrNfe::Service::Intermediario
189
+ BrNfe.intermediario_service_class = BrNfe::Service::Intermediario
221
190
  end
222
191
 
223
192
  it "atributos pode ser atribuidos em forma de bloco" do
@@ -274,10 +243,10 @@ describe BrNfe::Service::Rps do
274
243
  end
275
244
 
276
245
  it "a classe do condicao_pagamento deve segir a configuração de BrNfe.condicao_pagamento_class" do
277
- BrNfe.condicao_pagamento_class = BrNfe::Emitente
246
+ BrNfe.condicao_pagamento_class = BrNfe::Service::Emitente
278
247
 
279
- novo = BrNfe::Service::Rps.new(condicao_pagamento: BrNfe::Emitente.new)
280
- novo.condicao_pagamento.class.must_equal BrNfe::Emitente
248
+ novo = BrNfe::Service::Rps.new(condicao_pagamento: BrNfe::Service::Emitente.new)
249
+ novo.condicao_pagamento.class.must_equal BrNfe::Service::Emitente
281
250
 
282
251
  novo.condicao_pagamento = nil
283
252
  novo.condicao_pagamento.must_be_nil
@@ -395,84 +364,84 @@ describe BrNfe::Service::Rps do
395
364
  end
396
365
  end
397
366
 
398
- describe "#total_services" do
399
- it "se não setar valor em total_services deve somar o total_value de todos os items" do
400
- subject.total_services = nil
401
- item_1.total_value = 55.70
402
- item_2.total_value = 40.35
367
+ describe "#valor_total_servicos" do
368
+ it "se não setar valor em valor_total_servicos deve somar o valor_total de todos os items" do
369
+ subject.valor_total_servicos = nil
370
+ item_1.valor_total = 55.70
371
+ item_2.valor_total = 40.35
403
372
  subject.items = [item_1, item_2]
404
373
 
405
- subject.total_services.must_equal 96.05
374
+ subject.valor_total_servicos.must_equal 96.05
406
375
  end
407
376
  it "se não houver itens e nem um valor setado deve retornar zero" do
408
- subject.total_services = nil
377
+ subject.valor_total_servicos = nil
409
378
  subject.items = []
410
379
 
411
- subject.total_services.must_equal 0.0
380
+ subject.valor_total_servicos.must_equal 0.0
412
381
  end
413
382
  it "se setar um valor deve retornar esse valor e não pode somar dos itens" do
414
- subject.total_services = 47.0
415
- item_1.total_value = 55.70
416
- item_2.total_value = 40.35
383
+ subject.valor_total_servicos = 47.0
384
+ item_1.valor_total = 55.70
385
+ item_2.valor_total = 40.35
417
386
  subject.items = [item_1, item_2]
418
387
 
419
- subject.total_services.must_equal 47.0
388
+ subject.valor_total_servicos.must_equal 47.0
420
389
  end
421
390
  end
422
391
 
423
- describe "#base_calculation" do
424
- it "se não setar valor em base_calculation deve subtratir o total_services com deductions" do
392
+ describe "#base_calculo" do
393
+ it "se não setar valor em base_calculo deve subtratir o valor_total_servicos com deducoes" do
425
394
  subject.assign_attributes({
426
- base_calculation: nil,
427
- total_services: 100.0,
428
- deductions: 4.500000555
395
+ base_calculo: nil,
396
+ valor_total_servicos: 100.0,
397
+ deducoes: 4.500000555
429
398
  })
430
399
 
431
- subject.base_calculation.must_equal 95.5
400
+ subject.base_calculo.must_equal 95.5
432
401
  end
433
- it "deve retornar zero se não houver valor em base_calculation e nem em total_services ou deductions" do
402
+ it "deve retornar zero se não houver valor em base_calculo e nem em valor_total_servicos ou deducoes" do
434
403
  subject.assign_attributes({
435
- base_calculation: nil,
436
- total_services: nil,
437
- deductions: nil,
404
+ base_calculo: nil,
405
+ valor_total_servicos: nil,
406
+ deducoes: nil,
438
407
  items: []
439
408
  })
440
409
 
441
- subject.base_calculation.must_equal 0.0
410
+ subject.base_calculo.must_equal 0.0
442
411
  end
443
- it "se setar um valor deve retornar esse valor e não pode celcular o total_services subtraindo as deductions" do
412
+ it "se setar um valor deve retornar esse valor e não pode celcular o valor_total_servicos subtraindo as deducoes" do
444
413
  subject.assign_attributes({
445
- base_calculation: 200,
446
- total_services: 100,
447
- deductions: 50
414
+ base_calculo: 200,
415
+ valor_total_servicos: 100,
416
+ deducoes: 50
448
417
  })
449
418
 
450
- subject.base_calculation.must_equal 200
419
+ subject.base_calculo.must_equal 200
451
420
  end
452
421
  end
453
422
 
454
- describe "#iss_tax_rate" do
455
- it "deve pegar o valor de iss_tax_rate do primeiro item se não houver valor setado em iss_tax_rate do RPS" do
456
- subject.iss_tax_rate = nil
457
- item_1.iss_tax_rate = 0.3
458
- item_2.iss_tax_rate = 0.4
423
+ describe "#iss_aliquota" do
424
+ it "deve pegar o valor de iss_aliquota do primeiro item se não houver valor setado em iss_aliquota do RPS" do
425
+ subject.iss_aliquota = nil
426
+ item_1.iss_aliquota = 0.3
427
+ item_2.iss_aliquota = 0.4
459
428
  subject.items = [item_2, item_1]
460
429
 
461
- subject.iss_tax_rate.must_equal 0.4
430
+ subject.iss_aliquota.must_equal 0.4
462
431
  end
463
432
  it "Deve retornar nil se não houver itens e nem um valor setado" do
464
- subject.iss_tax_rate = nil
433
+ subject.iss_aliquota = nil
465
434
  subject.items = []
466
435
 
467
- subject.iss_tax_rate.must_be_nil
436
+ subject.iss_aliquota.must_be_nil
468
437
  end
469
438
  it "se setar um valor deve retornar esse valor e não pode pegar dos itens" do
470
- subject.iss_tax_rate = 0.4
471
- item_1.total_value = 0.1
472
- item_2.total_value = 0.2
439
+ subject.iss_aliquota = 0.4
440
+ item_1.valor_total = 0.1
441
+ item_2.valor_total = 0.2
473
442
  subject.items = [item_1, item_2]
474
443
 
475
- subject.iss_tax_rate.must_equal 0.4
444
+ subject.iss_aliquota.must_equal 0.4
476
445
  end
477
446
  end
478
447
 
@@ -493,43 +462,43 @@ describe BrNfe::Service::Rps do
493
462
  end
494
463
  it "se setar um valor deve retornar esse valor e não pode pegar dos itens" do
495
464
  subject.cnae_code = '2'
496
- item_1.total_value = '3'
497
- item_2.total_value = '4'
465
+ item_1.valor_total = '3'
466
+ item_2.valor_total = '4'
498
467
  subject.items = [item_1, item_2]
499
468
 
500
469
  subject.cnae_code.must_equal '2'
501
470
  end
502
471
  end
503
472
 
504
- describe "#net_value" do
473
+ describe "#valor_liquido" do
505
474
  it "Se setar um valor deve retornar o valor setado" do
506
- subject.assign_attributes(total_services: 10.00, net_value: 9_999.55)
507
- subject.net_value.must_equal 9_999.55
475
+ subject.assign_attributes(valor_total_servicos: 10.00, valor_liquido: 9_999.55)
476
+ subject.valor_liquido.must_equal 9_999.55
508
477
  end
509
- it "se não tiver valor setado manualmente em net_value deve realizar o calcula automaticamente" do
510
- subject.assign_attributes({total_services: 100.00, valor_pis: 1.5, valor_cofins: 1.0,
478
+ it "se não tiver valor setado manualmente em valor_liquido deve realizar o calcula automaticamente" do
479
+ subject.assign_attributes({valor_total_servicos: 100.00, valor_pis: 1.5, valor_cofins: 1.0,
511
480
  valor_inss: 0.5, valor_ir: 0.0, valor_csll: 2.0, outras_retencoes: 3.0,
512
- total_iss_retained: 4.0, desconto_incondicionado: 5.0, desconto_condicionado: 6.0,
513
- net_value: nil
481
+ total_iss_retido: 4.0, desconto_incondicionado: 5.0, desconto_condicionado: 6.0,
482
+ valor_liquido: nil
514
483
  })
515
- subject.net_value.must_equal 77.00
484
+ subject.valor_liquido.must_equal 77.00
516
485
  end
517
486
  it "se todos os valores para o calculo estiverem nil não deve dar erro e retorna zero" do
518
487
  subject.items = []
519
- subject.assign_attributes({total_services: nil, valor_pis: nil, valor_cofins: nil,
488
+ subject.assign_attributes({valor_total_servicos: nil, valor_pis: nil, valor_cofins: nil,
520
489
  valor_inss: nil, valor_ir: nil, valor_csll: nil, outras_retencoes: nil,
521
- total_iss_retained: nil, desconto_incondicionado: nil, desconto_condicionado: nil,
522
- net_value: nil
490
+ total_iss_retido: nil, desconto_incondicionado: nil, desconto_condicionado: nil,
491
+ valor_liquido: nil
523
492
  })
524
- subject.net_value.must_equal 0.0
493
+ subject.valor_liquido.must_equal 0.0
525
494
  end
526
495
  it "se alguns dos valores para o calculo estiverem nil não deve dar erro e considera esse valor como zero" do
527
- subject.assign_attributes({total_services: 100.00, valor_pis: nil, valor_cofins: nil,
496
+ subject.assign_attributes({valor_total_servicos: 100.00, valor_pis: nil, valor_cofins: nil,
528
497
  valor_inss: nil, valor_ir: 0.0, valor_csll: 2.0, outras_retencoes: 3.0,
529
- total_iss_retained: 4.0, desconto_incondicionado: 5.0, desconto_condicionado: 6.0,
530
- net_value: nil
498
+ total_iss_retido: 4.0, desconto_incondicionado: 5.0, desconto_condicionado: 6.0,
499
+ valor_liquido: nil
531
500
  })
532
- subject.net_value.must_equal 80.0
501
+ subject.valor_liquido.must_equal 80.0
533
502
  end
534
503
  end
535
504
 
@@ -74,7 +74,7 @@ describe BrNfe::Service::SC::Florianopolis::EmissionRPS do
74
74
  end
75
75
 
76
76
  context "atributos de DadosServico" do
77
- let(:item_2) { FactoryGirl.build(:service_item, cnae_code: '666', description: 'DESC', total_value: 547.8888) }
77
+ let(:item_2) { FactoryGirl.build(:service_item, cnae_code: '666', description: 'DESC', valor_total: 547.8888) }
78
78
  it "o deve ter um atributo ItemServico para cada item de serviço com suas respectivas informações" do
79
79
  rps.items << item_2
80
80
  items = xml.at('InfRequisicao/DadosServico').search('ItemServico')
@@ -98,25 +98,25 @@ describe BrNfe::Service::SC::Florianopolis::EmissionRPS do
98
98
  items[1].at('ValorTotal').text.must_equal '547.89'
99
99
  end
100
100
 
101
- it "atributo BaseCalculo deve ter o valor monetário do base_calculation do RPS" do
102
- rps.base_calculation = '31.1111'
101
+ it "atributo BaseCalculo deve ter o valor monetário do base_calculo do RPS" do
102
+ rps.base_calculo = '31.1111'
103
103
  items = xml.at('InfRequisicao/DadosServico/BaseCalculo').text.must_equal '31.11'
104
104
  end
105
105
  it "atributo ValorISSQN deve ter o valor monetário do total_iss do RPS" do
106
106
  rps.total_iss = '7.666'
107
107
  items = xml.at('InfRequisicao/DadosServico/ValorISSQN').text.must_equal '7.67'
108
108
  end
109
- it "atributo ValorTotalServicos deve ter o valor monetário do total_services do RPS" do
110
- rps.total_services = 28_731.664
109
+ it "atributo ValorTotalServicos deve ter o valor monetário do valor_total_servicos do RPS" do
110
+ rps.valor_total_servicos = 28_731.664
111
111
  items = xml.at('InfRequisicao/DadosServico/ValorTotalServicos').text.must_equal '28731.66'
112
112
  end
113
113
  context "BaseCalculoSubstituicao" do
114
- it "se houver valor no atributo total_base_calculation_st do RPS deve exibir o atribudo do XML" do
115
- rps.total_base_calculation_st = 778
114
+ it "se houver valor no atributo total_base_calculo_st do RPS deve exibir o atribudo do XML" do
115
+ rps.total_base_calculo_st = 778
116
116
  items = xml.at('InfRequisicao/DadosServico/BaseCalculoSubstituicao').text.must_equal '778.0'
117
117
  end
118
- it "se não houver valor no atributo total_base_calculation_st do RPS não irá exibir o atribudo do XML" do
119
- rps.total_base_calculation_st = nil
118
+ it "se não houver valor no atributo total_base_calculo_st do RPS não irá exibir o atribudo do XML" do
119
+ rps.total_base_calculo_st = nil
120
120
  items = xml.at('InfRequisicao/DadosServico/BaseCalculoSubstituicao').must_be_nil
121
121
  end
122
122
  end