br_nfe 2.1.0 → 2.1.1

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