br_danfe 0.11.2 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -1
  3. data/Gemfile.lock +31 -31
  4. data/br_danfe.gemspec +6 -5
  5. data/config/locales/pt-BR.yml +8 -0
  6. data/lib/br_danfe/danfe.rb +2 -2
  7. data/lib/br_danfe/danfe_lib/det_body.rb +1 -1
  8. data/lib/br_danfe/danfe_lib/document.rb +1 -1
  9. data/lib/br_danfe/danfe_lib/emit_header.rb +2 -2
  10. data/lib/br_danfe/danfe_lib/helper.rb +1 -27
  11. data/lib/br_danfe/danfe_lib/infadic.rb +1 -1
  12. data/lib/br_danfe/danfe_lib/xprod.rb +15 -15
  13. data/lib/br_danfe/danfe_nfce.rb +43 -0
  14. data/lib/br_danfe/danfe_nfce_lib/document.rb +35 -0
  15. data/lib/br_danfe/danfe_nfce_lib/footer.rb +15 -0
  16. data/lib/br_danfe/danfe_nfce_lib/header.rb +67 -0
  17. data/lib/br_danfe/danfe_nfce_lib/helper.rb +9 -0
  18. data/lib/br_danfe/danfe_nfce_lib/key.rb +18 -0
  19. data/lib/br_danfe/danfe_nfce_lib/nfce_identification.rb +20 -0
  20. data/lib/br_danfe/danfe_nfce_lib/product_list.rb +100 -0
  21. data/lib/br_danfe/danfe_nfce_lib/qr_code.rb +23 -0
  22. data/lib/br_danfe/danfe_nfce_lib/recipient.rb +72 -0
  23. data/lib/br_danfe/danfe_nfce_lib/total_list.rb +78 -0
  24. data/lib/br_danfe/helper.rb +29 -0
  25. data/lib/br_danfe/{danfe_lib/options.rb → logo_config.rb} +2 -2
  26. data/lib/br_danfe/{danfe_lib/logo_options.rb → logo_options.rb} +2 -2
  27. data/lib/br_danfe/version.rb +1 -1
  28. data/lib/br_danfe/xml.rb +36 -0
  29. data/spec/features/danfe_nfce_spec.rb +31 -0
  30. data/spec/fixtures/nfce/lib/document#render.pdf +99 -0
  31. data/spec/fixtures/nfce/lib/footer#render.pdf +74 -0
  32. data/spec/fixtures/nfce/lib/header#render-homologation.pdf +0 -0
  33. data/spec/fixtures/nfce/lib/header#render-long_name_with_logo.pdf +0 -0
  34. data/spec/fixtures/nfce/lib/header#render-long_name_without_logo.pdf +118 -0
  35. data/spec/fixtures/nfce/lib/header#render-short_name_with_logo.pdf +0 -0
  36. data/spec/fixtures/nfce/lib/header#render-short_name_without_logo.pdf +118 -0
  37. data/spec/fixtures/nfce/lib/key#render.pdf +104 -0
  38. data/spec/fixtures/nfce/lib/nfce_identification#render.pdf +118 -0
  39. data/spec/fixtures/nfce/lib/product_list#render-with_many_products.pdf +307 -0
  40. data/spec/fixtures/nfce/lib/product_list#render-with_many_products_and_long_names.pdf +335 -0
  41. data/spec/fixtures/nfce/lib/product_list#render-with_single_product.pdf +181 -0
  42. data/spec/fixtures/nfce/lib/product_list#render-with_single_product_and_long_name.pdf +195 -0
  43. data/spec/fixtures/nfce/lib/product_list_with_many_products.xml +367 -0
  44. data/spec/fixtures/nfce/lib/product_list_with_many_products_and_long_names.xml +367 -0
  45. data/spec/fixtures/nfce/lib/product_list_with_single_product.xml +238 -0
  46. data/spec/fixtures/nfce/lib/product_list_with_single_product_and_long_name.xml +238 -0
  47. data/spec/fixtures/nfce/lib/qr_code#render.pdf +0 -0
  48. data/spec/fixtures/nfce/lib/recipient#render-company.pdf +95 -0
  49. data/spec/fixtures/nfce/lib/recipient#render-consumer_without_document.pdf +88 -0
  50. data/spec/fixtures/nfce/lib/recipient#render-foreign.pdf +95 -0
  51. data/spec/fixtures/nfce/lib/recipient#render-individual.pdf +95 -0
  52. data/spec/fixtures/nfce/lib/recipient#render-unidentified_consumer.pdf +81 -0
  53. data/spec/fixtures/nfce/lib/total_list#does_not_render-payment_methods.pdf +139 -0
  54. data/spec/fixtures/nfce/lib/total_list#render-grouped_payment_methods.pdf +188 -0
  55. data/spec/fixtures/nfce/lib/total_list#render-totals.pdf +139 -0
  56. data/spec/fixtures/nfce/lib/total_list#render-without_payment.pdf +202 -0
  57. data/spec/fixtures/nfce/lib/total_list#render.pdf +202 -0
  58. data/spec/fixtures/nfce/v4.00/nfce.xml +367 -0
  59. data/spec/fixtures/nfce/v4.00/rendered_nfce.fixture.pdf +0 -0
  60. data/spec/fixtures/nfce/v4.00/saved_nfce.fixture.pdf +0 -0
  61. data/spec/lib/danfe_lib/dest_spec.rb +1 -1
  62. data/spec/lib/danfe_lib/det_body_spec.rb +1 -1
  63. data/spec/lib/danfe_lib/document_spec.rb +1 -1
  64. data/spec/lib/danfe_lib/dup_spec.rb +1 -1
  65. data/spec/lib/danfe_lib/emit_header_spec.rb +1 -1
  66. data/spec/lib/danfe_lib/helper_spec.rb +0 -54
  67. data/spec/lib/danfe_lib/icmstot_spec.rb +1 -1
  68. data/spec/lib/danfe_lib/infadic_spec.rb +1 -1
  69. data/spec/lib/danfe_lib/infadic_vol_spec.rb +1 -1
  70. data/spec/lib/danfe_lib/issqn_spec.rb +1 -1
  71. data/spec/lib/danfe_lib/ticket_spec.rb +1 -1
  72. data/spec/lib/danfe_lib/transp_spec.rb +1 -1
  73. data/spec/lib/danfe_lib/vol_spec.rb +1 -1
  74. data/spec/lib/danfe_nfce_lib/document_spec.rb +19 -0
  75. data/spec/lib/danfe_nfce_lib/footer_spec.rb +42 -0
  76. data/spec/lib/danfe_nfce_lib/header_spec.rb +117 -0
  77. data/spec/lib/danfe_nfce_lib/helper_spec.rb +28 -0
  78. data/spec/lib/danfe_nfce_lib/key_spec.rb +45 -0
  79. data/spec/lib/danfe_nfce_lib/nfce_identification_spec.rb +48 -0
  80. data/spec/lib/danfe_nfce_lib/product_list_spec.rb +66 -0
  81. data/spec/lib/danfe_nfce_lib/qr_code_spec.rb +35 -0
  82. data/spec/lib/danfe_nfce_lib/recipient_spec.rb +163 -0
  83. data/spec/lib/danfe_nfce_lib/total_list_spec.rb +188 -0
  84. data/spec/lib/helper_spec.rb +102 -0
  85. data/spec/lib/logo_config_spec.rb +21 -0
  86. data/spec/lib/{danfe_lib/logo_options_spec.rb → logo_options_spec.rb} +8 -22
  87. data/spec/lib/{danfe_lib/xml_spec.rb → xml_spec.rb} +2 -2
  88. metadata +87 -18
  89. data/lib/br_danfe/danfe_lib/xml.rb +0 -38
  90. data/spec/lib/danfe_lib/options_spec.rb +0 -17
@@ -0,0 +1,367 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <nfeProc xmlns="http://www.portalfiscal.inf.br/nfe" versao="4.00">
3
+ <NFe>
4
+ <infNFe versao="4.00" Id="NFe42200310845180000166550010000016291182910232">
5
+ <ide>
6
+ <cUF>42</cUF>
7
+ <cNF>18291023</cNF>
8
+ <natOp>Venda</natOp>
9
+ <mod>55</mod>
10
+ <serie>1</serie>
11
+ <nNF>1629</nNF>
12
+ <dhEmi>2020-03-24T13:33:20-05:00</dhEmi>
13
+ <tpNF>1</tpNF>
14
+ <idDest>1</idDest>
15
+ <cMunFG>4202859</cMunFG>
16
+ <tpImp>1</tpImp>
17
+ <tpEmis>1</tpEmis>
18
+ <cDV>2</cDV>
19
+ <tpAmb>2</tpAmb>
20
+ <finNFe>1</finNFe>
21
+ <indFinal>1</indFinal>
22
+ <indPres>9</indPres>
23
+ <procEmi>0</procEmi>
24
+ <verProc>facil123.com.br</verProc>
25
+ </ide>
26
+ <emit>
27
+ <CNPJ>10845180000166</CNPJ>
28
+ <xNome>Empresa teste</xNome>
29
+ <xFant>Empresa teste</xFant>
30
+ <enderEmit>
31
+ <xLgr>R GEREMIAS EUGENIO DA SILVA</xLgr>
32
+ <nro>85</nro>
33
+ <xBairro>SERRARIA</xBairro>
34
+ <cMun>4202859</cMun>
35
+ <xMun>BRACO DO TROMBUDO</xMun>
36
+ <UF>SC</UF>
37
+ <CEP>88113160</CEP>
38
+ <cPais>1058</cPais>
39
+ <xPais>Brasil</xPais>
40
+ <fone>4832579854</fone>
41
+ </enderEmit>
42
+ <IE>255916191</IE>
43
+ <CRT>1</CRT>
44
+ </emit>
45
+ <dest>
46
+ <CNPJ>18191228000171</CNPJ>
47
+ <xNome>NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xNome>
48
+ <enderDest>
49
+ <xLgr>Rua Tijucas</xLgr>
50
+ <nro>99</nro>
51
+ <xCpl>dwdwa</xCpl>
52
+ <xBairro>Centro</xBairro>
53
+ <cMun>4218004</cMun>
54
+ <xMun>TIJUCAS</xMun>
55
+ <UF>SC</UF>
56
+ <CEP>88200000</CEP>
57
+ <cPais>1058</cPais>
58
+ <xPais>Brasil</xPais>
59
+ </enderDest>
60
+ <indIEDest>2</indIEDest>
61
+ <email>teste123@hotmail.com</email>
62
+ </dest>
63
+ <det nItem="1">
64
+ <prod>
65
+ <cProd>1173</cProd>
66
+ <cEAN>568754456745</cEAN>
67
+ <xProd>Abraçadeira de testea com o nome bem grande</xProd>
68
+ <NCM>01022990</NCM>
69
+ <CFOP>5101</CFOP>
70
+ <uCom>UN</uCom>
71
+ <qCom>1000.0</qCom>
72
+ <vUnCom>10000.0</vUnCom>
73
+ <vProd>10000.00</vProd>
74
+ <cEANTrib>568754456745</cEANTrib>
75
+ <uTrib>UN</uTrib>
76
+ <qTrib>1.0</qTrib>
77
+ <vUnTrib>10000.0</vUnTrib>
78
+ <vDesc>0.98</vDesc>
79
+ <indTot>1</indTot>
80
+ </prod>
81
+ <imposto>
82
+ <ICMS>
83
+ <ICMSSN102>
84
+ <orig>0</orig>
85
+ <CSOSN>102</CSOSN>
86
+ </ICMSSN102>
87
+ </ICMS>
88
+ <PIS>
89
+ <PISOutr>
90
+ <CST>99</CST>
91
+ <vBC>0.00</vBC>
92
+ <pPIS>0.00</pPIS>
93
+ <vPIS>0.00</vPIS>
94
+ </PISOutr>
95
+ </PIS>
96
+ <COFINS>
97
+ <COFINSOutr>
98
+ <CST>99</CST>
99
+ <vBC>0.00</vBC>
100
+ <pCOFINS>0.00</pCOFINS>
101
+ <vCOFINS>0.00</vCOFINS>
102
+ </COFINSOutr>
103
+ </COFINS>
104
+ </imposto>
105
+ </det>
106
+ <det nItem="2">
107
+ <prod>
108
+ <cProd>1173</cProd>
109
+ <cEAN>568754456745</cEAN>
110
+ <xProd>Abraçadeira</xProd>
111
+ <NCM>01022990</NCM>
112
+ <CFOP>5101</CFOP>
113
+ <uCom>UN</uCom>
114
+ <qCom>2.0</qCom>
115
+ <vUnCom>10.0</vUnCom>
116
+ <vProd>20.00</vProd>
117
+ <cEANTrib>568754456745</cEANTrib>
118
+ <uTrib>UN</uTrib>
119
+ <qTrib>2.0</qTrib>
120
+ <vUnTrib>10.0</vUnTrib>
121
+ <vDesc>1.96</vDesc>
122
+ <indTot>1</indTot>
123
+ </prod>
124
+ <imposto>
125
+ <ICMS>
126
+ <ICMSSN102>
127
+ <orig>0</orig>
128
+ <CSOSN>102</CSOSN>
129
+ </ICMSSN102>
130
+ </ICMS>
131
+ <PIS>
132
+ <PISOutr>
133
+ <CST>99</CST>
134
+ <vBC>0.00</vBC>
135
+ <pPIS>0.00</pPIS>
136
+ <vPIS>0.00</vPIS>
137
+ </PISOutr>
138
+ </PIS>
139
+ <COFINS>
140
+ <COFINSOutr>
141
+ <CST>99</CST>
142
+ <vBC>0.00</vBC>
143
+ <pCOFINS>0.00</pCOFINS>
144
+ <vCOFINS>0.00</vCOFINS>
145
+ </COFINSOutr>
146
+ </COFINS>
147
+ </imposto>
148
+ </det>
149
+ <det nItem="3">
150
+ <prod>
151
+ <cProd>1173</cProd>
152
+ <cEAN>568754456745</cEAN>
153
+ <xProd>Abraçadeira</xProd>
154
+ <NCM>01022990</NCM>
155
+ <CFOP>5101</CFOP>
156
+ <uCom>UN</uCom>
157
+ <qCom>3.0</qCom>
158
+ <vUnCom>10.0</vUnCom>
159
+ <vProd>30.00</vProd>
160
+ <cEANTrib>568754456745</cEANTrib>
161
+ <uTrib>UN</uTrib>
162
+ <qTrib>3.0</qTrib>
163
+ <vUnTrib>10.0</vUnTrib>
164
+ <vDesc>2.94</vDesc>
165
+ <indTot>1</indTot>
166
+ </prod>
167
+ <imposto>
168
+ <ICMS>
169
+ <ICMSSN102>
170
+ <orig>0</orig>
171
+ <CSOSN>102</CSOSN>
172
+ </ICMSSN102>
173
+ </ICMS>
174
+ <PIS>
175
+ <PISOutr>
176
+ <CST>99</CST>
177
+ <vBC>0.00</vBC>
178
+ <pPIS>0.00</pPIS>
179
+ <vPIS>0.00</vPIS>
180
+ </PISOutr>
181
+ </PIS>
182
+ <COFINS>
183
+ <COFINSOutr>
184
+ <CST>99</CST>
185
+ <vBC>0.00</vBC>
186
+ <pCOFINS>0.00</pCOFINS>
187
+ <vCOFINS>0.00</vCOFINS>
188
+ </COFINSOutr>
189
+ </COFINS>
190
+ </imposto>
191
+ </det>
192
+ <det nItem="4">
193
+ <prod>
194
+ <cProd>1173</cProd>
195
+ <cEAN>568754456745</cEAN>
196
+ <xProd>Abraçadeira</xProd>
197
+ <NCM>01022990</NCM>
198
+ <CFOP>5101</CFOP>
199
+ <uCom>UN</uCom>
200
+ <qCom>4.0</qCom>
201
+ <vUnCom>11.0</vUnCom>
202
+ <vProd>44.00</vProd>
203
+ <cEANTrib>568754456745</cEANTrib>
204
+ <uTrib>UN</uTrib>
205
+ <qTrib>4.0</qTrib>
206
+ <vUnTrib>11.0</vUnTrib>
207
+ <vDesc>6.12</vDesc>
208
+ <indTot>1</indTot>
209
+ </prod>
210
+ <imposto>
211
+ <ICMS>
212
+ <ICMSSN102>
213
+ <orig>0</orig>
214
+ <CSOSN>102</CSOSN>
215
+ </ICMSSN102>
216
+ </ICMS>
217
+ <PIS>
218
+ <PISOutr>
219
+ <CST>99</CST>
220
+ <vBC>0.00</vBC>
221
+ <pPIS>0.00</pPIS>
222
+ <vPIS>0.00</vPIS>
223
+ </PISOutr>
224
+ </PIS>
225
+ <COFINS>
226
+ <COFINSOutr>
227
+ <CST>99</CST>
228
+ <vBC>0.00</vBC>
229
+ <pCOFINS>0.00</pCOFINS>
230
+ <vCOFINS>0.00</vCOFINS>
231
+ </COFINSOutr>
232
+ </COFINS>
233
+ </imposto>
234
+ </det>
235
+ <total>
236
+ <ICMSTot>
237
+ <vBC>0.00</vBC>
238
+ <vICMS>0.00</vICMS>
239
+ <vICMSDeson>0.00</vICMSDeson>
240
+ <vFCPUFDest>0.00</vFCPUFDest>
241
+ <vICMSUFDest>0.00</vICMSUFDest>
242
+ <vICMSUFRemet>0.00</vICMSUFRemet>
243
+ <vFCP>0.00</vFCP>
244
+ <vBCST>0.00</vBCST>
245
+ <vST>0.00</vST>
246
+ <vFCPST>0.00</vFCPST>
247
+ <vFCPSTRet>0.00</vFCPSTRet>
248
+ <vProd>104.00</vProd>
249
+ <vFrete>0.00</vFrete>
250
+ <vSeg>0.00</vSeg>
251
+ <vDesc>12.00</vDesc>
252
+ <vII>0.00</vII>
253
+ <vIPI>0.00</vIPI>
254
+ <vIPIDevol>0.00</vIPIDevol>
255
+ <vPIS>0.00</vPIS>
256
+ <vCOFINS>0.00</vCOFINS>
257
+ <vOutro>0.00</vOutro>
258
+ <vNF>92.00</vNF>
259
+ </ICMSTot>
260
+ </total>
261
+ <transp>
262
+ <modFrete>9</modFrete>
263
+ </transp>
264
+ <cobr>
265
+ <fat>
266
+ <nFat>1629</nFat>
267
+ <vOrig>102.00</vOrig>
268
+ <vDesc>10.00</vDesc>
269
+ <vLiq>92.00</vLiq>
270
+ </fat>
271
+ <dup>
272
+ <nDup>001</nDup>
273
+ <dVenc>2020-04-23</dVenc>
274
+ <vDup>30.67</vDup>
275
+ </dup>
276
+ <dup>
277
+ <nDup>002</nDup>
278
+ <dVenc>2020-05-23</dVenc>
279
+ <vDup>30.67</vDup>
280
+ </dup>
281
+ <dup>
282
+ <nDup>003</nDup>
283
+ <dVenc>2020-06-22</dVenc>
284
+ <vDup>30.66</vDup>
285
+ </dup>
286
+ </cobr>
287
+ <pag>
288
+ <detPag>
289
+ <indPag>1</indPag>
290
+ <tPag>05</tPag>
291
+ <vPag>20.67</vPag>
292
+ </detPag>
293
+ <detPag>
294
+ <indPag>1</indPag>
295
+ <tPag>05</tPag>
296
+ <vPag>30.67</vPag>
297
+ </detPag>
298
+ <detPag>
299
+ <indPag>1</indPag>
300
+ <tPag>05</tPag>
301
+ <vPag>15.66</vPag>
302
+ </detPag>
303
+
304
+ <detPag>
305
+ <indPag>1</indPag>
306
+ <tPag>01</tPag>
307
+ <vPag>10.00</vPag>
308
+ </detPag>
309
+ <detPag>
310
+ <indPag>1</indPag>
311
+ <tPag>02</tPag>
312
+ <vPag>15.00</vPag>
313
+ </detPag>
314
+ </pag>
315
+ <infAdic>
316
+ <infCpl>DOCUMENTO EMITIDO POR ME OU EPP OPTANTE PELO SIMPLES NACIONAL * NÃO GERA DIREITO A CRÉDITO FISCAL DE IPI * Trib aprox R$: 3,87 Federal e 11,04 Estadual Fonte: IBPT/empresometro.com.br M2L5P8</infCpl>
317
+ </infAdic>
318
+ <infRespTec>
319
+ <CNPJ>04267593000108</CNPJ>
320
+ <xContato>César Luiz dos Anjos Júnior</xContato>
321
+ <email>desenvolvedores@asseinfo.com.br</email>
322
+ <fone>4832637137</fone>
323
+ </infRespTec>
324
+ </infNFe>
325
+ <infNFeSupl>
326
+ <qrCode><![CDATA[http://sistemas.sefaz.am.gov.br/nfceweb/consultarNFCe.jsp?p=13130901144012000152651231234567891123456786|2|2|1|A604FD51E40ED8465B787B3E9CF8C1D90E61DB13]]></qrCode>
327
+ <urlChave>www.sefaz.am.gov.br/nfce/consulta</urlChave>
328
+ </infNFeSupl>
329
+ <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
330
+ <SignedInfo>
331
+ <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
332
+ <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
333
+ <Reference URI="#NFe42200310845180000166550010000016291182910232">
334
+ <Transforms>
335
+ <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
336
+ <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
337
+ </Transforms>
338
+ <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
339
+ <DigestValue>3usUeRVacbmm1YX7mhrFM06rWcM=</DigestValue>
340
+ </Reference>
341
+ </SignedInfo>
342
+ <SignatureValue>Roj8hVHGHe6R/R8n81UvEIYM0v602lJ/ChS4dhJDuaQbOJ31zn5oV6+E8FpD
343
+ YFe8A+OeFxSTftkA8/8pbcDQUY/vfpoSHUxGsayKfG8vJc7KH50Xm6hpSBol
344
+ bsICBKDUOjY1gP5x6af0lDOoNNialPPWRxlnJJHopLhxnb0Xpj03T+RSzcK5
345
+ JApXv+cr6aWjpEmSTu/bo1PdCIPQySAhC1OzplzHuz+yAprvxCixdn89/4QA
346
+ w3h58h0VgX62YAKJSg4vRriJ72GpWdhHqIbvrVsKyg00hVy7iBta0IR1m62d
347
+ FPbE+iPqSrIJitGByRpQUIE4Oz+765RpKEd7whcggA==</SignatureValue>
348
+ <KeyInfo>
349
+ <X509Data>
350
+ <X509Certificate>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</X509Certificate>
351
+ </X509Data>
352
+ </KeyInfo>
353
+ </Signature>
354
+ </NFe>
355
+ <protNFe versao="4.00">
356
+ <infProt>
357
+ <tpAmb>2</tpAmb>
358
+ <verAplic>SVRS201908091113</verAplic>
359
+ <chNFe>42200310845180000166550010000016291182910232</chNFe>
360
+ <dhRecbto>2020-03-24T15:36:14-03:00</dhRecbto>
361
+ <nProt>342200000151784</nProt>
362
+ <digVal>3usUeRVacbmm1YX7mhrFM06rWcM=</digVal>
363
+ <cStat>100</cStat>
364
+ <xMotivo>Autorizado o uso da NF-e</xMotivo>
365
+ </infProt>
366
+ </protNFe>
367
+ </nfeProc>
@@ -4,7 +4,7 @@ describe BrDanfe::DanfeLib::Dest do
4
4
  let(:path_of_expected_pdf) { './spec/fixtures/nfe/lib/output.pdf' }
5
5
 
6
6
  let(:pdf) { BrDanfe::DanfeLib::Document.new }
7
- let(:xml) { BrDanfe::DanfeLib::XML.new(xml_as_string) }
7
+ let(:xml) { BrDanfe::XML.new(xml_as_string) }
8
8
 
9
9
  subject { described_class.new(pdf, xml) }
10
10
 
@@ -5,7 +5,7 @@ describe BrDanfe::DanfeLib::DetBody do
5
5
  let(:output_pdf) { "#{base_dir}output.pdf" }
6
6
 
7
7
  let(:pdf) { BrDanfe::DanfeLib::Document.new }
8
- let(:xml) { BrDanfe::DanfeLib::XML.new(xml_as_string) }
8
+ let(:xml) { BrDanfe::XML.new(xml_as_string) }
9
9
 
10
10
  let(:xml_as_string) do
11
11
  <<-eos
@@ -4,7 +4,7 @@ describe BrDanfe::DanfeLib::Document do
4
4
  let(:base_dir) { './spec/fixtures/nfe/lib/' }
5
5
  let(:output_pdf) { "#{base_dir}output.pdf" }
6
6
 
7
- let(:xml) { BrDanfe::DanfeLib::XML.new(xml_as_string) }
7
+ let(:xml) { BrDanfe::XML.new(xml_as_string) }
8
8
 
9
9
  describe '#lie' do
10
10
  before do
@@ -5,7 +5,7 @@ describe BrDanfe::DanfeLib::Dup do
5
5
  let(:output_pdf) { "#{base_dir}output.pdf" }
6
6
 
7
7
  let(:pdf) { BrDanfe::DanfeLib::Document.new }
8
- let(:xml) { BrDanfe::DanfeLib::XML.new(xml_as_string) }
8
+ let(:xml) { BrDanfe::XML.new(xml_as_string) }
9
9
 
10
10
  subject { described_class.new(pdf, xml) }
11
11
 
@@ -5,7 +5,7 @@ describe BrDanfe::DanfeLib::EmitHeader do
5
5
  let(:output_pdf) { "#{base_dir}output.pdf" }
6
6
 
7
7
  let(:pdf) { BrDanfe::DanfeLib::Document.new }
8
- let(:xml) { BrDanfe::DanfeLib::XML.new(xml_as_string) }
8
+ let(:xml) { BrDanfe::XML.new(xml_as_string) }
9
9
  let(:logo) { 'spec/fixtures/logo.png' }
10
10
 
11
11
  subject { described_class.new(pdf, xml, logo, { width: 100, height: 100 }) }
@@ -1,60 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe BrDanfe::DanfeLib::Helper do
4
- describe '.numerify' do
5
- it 'formats with the decimals' do
6
- expect(BrDanfe::DanfeLib::Helper.numerify(0.123)).to eq '0,123'
7
- expect(BrDanfe::DanfeLib::Helper.numerify(0.1234)).to eq '0,1234'
8
- expect(BrDanfe::DanfeLib::Helper.numerify(0.12345)).to eq '0,12345'
9
- expect(BrDanfe::DanfeLib::Helper.numerify(0.1234567891)).to eq '0,1234567891'
10
- end
11
-
12
- it 'formats integers' do
13
- expect(BrDanfe::DanfeLib::Helper.numerify(100)).to eq '100,00'
14
- end
15
-
16
- it 'formats decimals' do
17
- expect(BrDanfe::DanfeLib::Helper.numerify(123.45)).to eq '123,45'
18
- end
19
-
20
- it 'formats thousands' do
21
- expect(BrDanfe::DanfeLib::Helper.numerify(1000)).to eq '1.000,00'
22
- end
23
-
24
- it 'formats millions' do
25
- expect(BrDanfe::DanfeLib::Helper.numerify(1_000_000)).to eq '1.000.000,00'
26
- end
27
-
28
- it 'formats using two as min decimal precision' do
29
- expect(BrDanfe::DanfeLib::Helper.numerify(123.4)).to eq '123,40'
30
- end
31
-
32
- it 'formats 0 to 0,00' do
33
- expect(BrDanfe::DanfeLib::Helper.numerify(0)).to eq '0,00'
34
- end
35
-
36
- it "doesn't format nil value" do
37
- expect(BrDanfe::DanfeLib::Helper.numerify(nil)).to eq ''
38
- end
39
-
40
- it "doesn't format blank value" do
41
- expect(BrDanfe::DanfeLib::Helper.numerify('')).to eq ''
42
- end
43
- end
44
-
45
- describe '.format_datetime' do
46
- it 'returns a formated string' do
47
- string = '2013-10-18T13:54:04'
48
- expect(BrDanfe::DanfeLib::Helper.format_datetime(string)).to eq '18/10/2013 13:54:04'
49
- end
50
-
51
- describe 'when the source is blank' do
52
- it 'is empty' do
53
- expect(BrDanfe::DanfeLib::Helper.format_datetime('')).to eq ''
54
- end
55
- end
56
- end
57
-
58
4
  describe '.format_date' do
59
5
  it 'returns a formated string' do
60
6
  string = '2013-10-18T13:54:04'