br_danfe 0.7.0 → 0.7.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Dockerfile +1 -1
- data/Gemfile +3 -1
- data/Gemfile.lock +12 -11
- data/README.md +1 -1
- data/lib/br_danfe/danfe_lib/dest.rb +14 -5
- data/lib/br_danfe/danfe_lib/helper.rb +21 -2
- data/lib/br_danfe/danfe_lib/infadic.rb +14 -1
- data/lib/br_danfe/version.rb +1 -1
- data/spec/fixtures/nfe/lib/dest#render-v2.00.pdf +6 -6
- data/spec/fixtures/nfe/lib/dest#render-v3.10.pdf +6 -6
- data/spec/fixtures/nfe/lib/dest#render-with-address-bigger.pdf +271 -0
- data/spec/fixtures/nfe/lib/dest#render-with_cnpj.pdf +5 -12
- data/spec/fixtures/nfe/lib/dest#render-with_cpf.pdf +5 -12
- data/spec/fixtures/nfe/lib/dest#render-with_ie.pdf +5 -12
- data/spec/fixtures/nfe/lib/dest#render-without-address-complement.pdf +271 -0
- data/spec/fixtures/nfe/lib/infadic-with-street-data#render.pdf +104 -0
- data/spec/lib/danfe_lib/dest_spec.rb +84 -1
- data/spec/lib/danfe_lib/helper_spec.rb +92 -0
- data/spec/lib/danfe_lib/infadic_spec.rb +68 -0
- metadata +8 -2
@@ -0,0 +1,271 @@
|
|
1
|
+
%PDF-1.3
|
2
|
+
%����
|
3
|
+
1 0 obj
|
4
|
+
<< /Creator <feff0050007200610077006e>
|
5
|
+
/Producer <feff0050007200610077006e>
|
6
|
+
>>
|
7
|
+
endobj
|
8
|
+
2 0 obj
|
9
|
+
<< /Type /Catalog
|
10
|
+
/Pages 3 0 R
|
11
|
+
>>
|
12
|
+
endobj
|
13
|
+
3 0 obj
|
14
|
+
<< /Type /Pages
|
15
|
+
/Count 1
|
16
|
+
/Kids [5 0 R]
|
17
|
+
>>
|
18
|
+
endobj
|
19
|
+
4 0 obj
|
20
|
+
<< /Length 2421
|
21
|
+
>>
|
22
|
+
stream
|
23
|
+
q
|
24
|
+
0.3 w
|
25
|
+
|
26
|
+
BT
|
27
|
+
21.2598 596.8667 Td
|
28
|
+
/F2.0 8 Tf
|
29
|
+
[<44455354494e> 20 <41> 95 <54> 90 <c152494f202f2052454d4554454e5445>] TJ
|
30
|
+
ET
|
31
|
+
|
32
|
+
21.2598 571.748 335.0551 22.6772 re
|
33
|
+
S
|
34
|
+
|
35
|
+
BT
|
36
|
+
23.2598 588.3272 Td
|
37
|
+
/F1.0 6 Tf
|
38
|
+
[<4e4f4d452f52415ac3> 55 <4f20534f4349414c>] TJ
|
39
|
+
ET
|
40
|
+
|
41
|
+
|
42
|
+
BT
|
43
|
+
23.2598 574.5952 Td
|
44
|
+
/F1.0 10 Tf
|
45
|
+
[<5363686e656964657220456c6563747269632042726173696c204c746461>] TJ
|
46
|
+
ET
|
47
|
+
|
48
|
+
356.315 571.748 123.874 22.6772 re
|
49
|
+
S
|
50
|
+
|
51
|
+
BT
|
52
|
+
358.315 588.3272 Td
|
53
|
+
/F1.0 6 Tf
|
54
|
+
[<434e504a2f435046>] TJ
|
55
|
+
ET
|
56
|
+
|
57
|
+
|
58
|
+
BT
|
59
|
+
358.315 574.5952 Td
|
60
|
+
/F1.0 10 Tf
|
61
|
+
[<38322e3734332e3238372f303030382d3830>] TJ
|
62
|
+
ET
|
63
|
+
|
64
|
+
21.2598 549.0709 273.8268 22.6772 re
|
65
|
+
S
|
66
|
+
|
67
|
+
BT
|
68
|
+
23.2598 565.65 Td
|
69
|
+
/F1.0 6 Tf
|
70
|
+
[<454e44455245c74f>] TJ
|
71
|
+
ET
|
72
|
+
|
73
|
+
|
74
|
+
BT
|
75
|
+
23.2598 551.918 Td
|
76
|
+
/F1.0 10 Tf
|
77
|
+
[<41> 74 <7620646120536175646164652031313235>] TJ
|
78
|
+
ET
|
79
|
+
|
80
|
+
295.0866 549.0709 122.7402 22.6772 re
|
81
|
+
S
|
82
|
+
|
83
|
+
BT
|
84
|
+
297.0866 565.65 Td
|
85
|
+
/F1.0 6 Tf
|
86
|
+
[<42> 35 <41495252> 40 <4f>] TJ
|
87
|
+
ET
|
88
|
+
|
89
|
+
|
90
|
+
BT
|
91
|
+
297.0866 551.918 Td
|
92
|
+
/F1.0 10 Tf
|
93
|
+
[<46727574616c>] TJ
|
94
|
+
ET
|
95
|
+
|
96
|
+
417.8268 549.0709 62.3622 22.6772 re
|
97
|
+
S
|
98
|
+
|
99
|
+
BT
|
100
|
+
419.8268 565.65 Td
|
101
|
+
/F1.0 6 Tf
|
102
|
+
[<434550>] TJ
|
103
|
+
ET
|
104
|
+
|
105
|
+
|
106
|
+
BT
|
107
|
+
419.8268 551.918 Td
|
108
|
+
/F1.0 10 Tf
|
109
|
+
[<31332e3137312d333230>] TJ
|
110
|
+
ET
|
111
|
+
|
112
|
+
21.2598 526.3937 187.3701 22.6772 re
|
113
|
+
S
|
114
|
+
|
115
|
+
BT
|
116
|
+
23.2598 542.9729 Td
|
117
|
+
/F1.0 6 Tf
|
118
|
+
[<4d554e4943cd50494f>] TJ
|
119
|
+
ET
|
120
|
+
|
121
|
+
|
122
|
+
BT
|
123
|
+
23.2598 529.2409 Td
|
124
|
+
/F1.0 10 Tf
|
125
|
+
[<53554d415245>] TJ
|
126
|
+
ET
|
127
|
+
|
128
|
+
208.6299 526.3937 115.0866 22.6772 re
|
129
|
+
S
|
130
|
+
|
131
|
+
BT
|
132
|
+
210.6299 542.9729 Td
|
133
|
+
/F1.0 6 Tf
|
134
|
+
[<464f4e452f46> 74 <4158>] TJ
|
135
|
+
ET
|
136
|
+
|
137
|
+
|
138
|
+
BT
|
139
|
+
210.6299 529.2409 Td
|
140
|
+
/F1.0 10 Tf
|
141
|
+
[<2831392920323130342d36333030>] TJ
|
142
|
+
ET
|
143
|
+
|
144
|
+
323.7165 526.3937 32.315 22.6772 re
|
145
|
+
S
|
146
|
+
|
147
|
+
BT
|
148
|
+
325.7165 542.9729 Td
|
149
|
+
/F1.0 6 Tf
|
150
|
+
[<5546>] TJ
|
151
|
+
ET
|
152
|
+
|
153
|
+
|
154
|
+
BT
|
155
|
+
325.7165 529.2409 Td
|
156
|
+
/F1.0 10 Tf
|
157
|
+
[<5350>] TJ
|
158
|
+
ET
|
159
|
+
|
160
|
+
356.0315 526.3937 124.1575 22.6772 re
|
161
|
+
S
|
162
|
+
|
163
|
+
BT
|
164
|
+
358.0315 542.9729 Td
|
165
|
+
/F1.0 6 Tf
|
166
|
+
[<494e53435249c7c3> 55 <4f20455354> 93 <414455> 40 <414c>] TJ
|
167
|
+
ET
|
168
|
+
|
169
|
+
|
170
|
+
BT
|
171
|
+
358.0315 529.2409 Td
|
172
|
+
/F1.0 10 Tf
|
173
|
+
[<3637312e3030382e3337352e313130>] TJ
|
174
|
+
ET
|
175
|
+
|
176
|
+
493.2283 571.748 82.7717 22.6772 re
|
177
|
+
S
|
178
|
+
|
179
|
+
BT
|
180
|
+
495.2283 588.3272 Td
|
181
|
+
/F1.0 6 Tf
|
182
|
+
[<44> 40 <41> 111 <54> 93 <412044> 40 <4120454d495353c3> 55 <4f>] TJ
|
183
|
+
ET
|
184
|
+
|
185
|
+
|
186
|
+
BT
|
187
|
+
528.44 574.5952 Td
|
188
|
+
/F1.0 10 Tf
|
189
|
+
[<32392f31302f32303131>] TJ
|
190
|
+
ET
|
191
|
+
|
192
|
+
493.2283 549.0709 82.7717 22.6772 re
|
193
|
+
S
|
194
|
+
|
195
|
+
BT
|
196
|
+
495.2283 565.65 Td
|
197
|
+
/F1.0 6 Tf
|
198
|
+
[<44> 40 <41> 111 <54> 93 <412044> 40 <4120454e54524144> 40 <412f5341cd44> 40 <41>] TJ
|
199
|
+
ET
|
200
|
+
|
201
|
+
|
202
|
+
BT
|
203
|
+
528.44 551.918 Td
|
204
|
+
/F1.0 10 Tf
|
205
|
+
[<33302f31302f32303131>] TJ
|
206
|
+
ET
|
207
|
+
|
208
|
+
493.2283 526.3937 82.7717 22.6772 re
|
209
|
+
S
|
210
|
+
|
211
|
+
BT
|
212
|
+
495.2283 542.9729 Td
|
213
|
+
/F1.0 6 Tf
|
214
|
+
[<484f524120444520454e54524144> 40 <412f5341cd44> 40 <41>] TJ
|
215
|
+
ET
|
216
|
+
|
217
|
+
|
218
|
+
BT
|
219
|
+
538.44 529.2409 Td
|
220
|
+
/F1.0 10 Tf
|
221
|
+
[<31333a33323a3435>] TJ
|
222
|
+
ET
|
223
|
+
|
224
|
+
Q
|
225
|
+
|
226
|
+
endstream
|
227
|
+
endobj
|
228
|
+
5 0 obj
|
229
|
+
<< /Type /Page
|
230
|
+
/Parent 3 0 R
|
231
|
+
/MediaBox [0 0 595.28 841.89]
|
232
|
+
/Contents 4 0 R
|
233
|
+
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
|
234
|
+
/Font << /F2.0 6 0 R
|
235
|
+
/F1.0 7 0 R
|
236
|
+
>>
|
237
|
+
>>
|
238
|
+
>>
|
239
|
+
endobj
|
240
|
+
6 0 obj
|
241
|
+
<< /Type /Font
|
242
|
+
/Subtype /Type1
|
243
|
+
/BaseFont /Times-Bold
|
244
|
+
/Encoding /WinAnsiEncoding
|
245
|
+
>>
|
246
|
+
endobj
|
247
|
+
7 0 obj
|
248
|
+
<< /Type /Font
|
249
|
+
/Subtype /Type1
|
250
|
+
/BaseFont /Times-Roman
|
251
|
+
/Encoding /WinAnsiEncoding
|
252
|
+
>>
|
253
|
+
endobj
|
254
|
+
xref
|
255
|
+
0 8
|
256
|
+
0000000000 65535 f
|
257
|
+
0000000015 00000 n
|
258
|
+
0000000109 00000 n
|
259
|
+
0000000158 00000 n
|
260
|
+
0000000215 00000 n
|
261
|
+
0000002688 00000 n
|
262
|
+
0000002880 00000 n
|
263
|
+
0000002978 00000 n
|
264
|
+
trailer
|
265
|
+
<< /Size 8
|
266
|
+
/Root 2 0 R
|
267
|
+
/Info 1 0 R
|
268
|
+
>>
|
269
|
+
startxref
|
270
|
+
3077
|
271
|
+
%%EOF
|
@@ -0,0 +1,104 @@
|
|
1
|
+
%PDF-1.3
|
2
|
+
%����
|
3
|
+
1 0 obj
|
4
|
+
<< /Creator <feff0050007200610077006e>
|
5
|
+
/Producer <feff0050007200610077006e>
|
6
|
+
>>
|
7
|
+
endobj
|
8
|
+
2 0 obj
|
9
|
+
<< /Type /Catalog
|
10
|
+
/Pages 3 0 R
|
11
|
+
>>
|
12
|
+
endobj
|
13
|
+
3 0 obj
|
14
|
+
<< /Type /Pages
|
15
|
+
/Count 1
|
16
|
+
/Kids [5 0 R]
|
17
|
+
>>
|
18
|
+
endobj
|
19
|
+
4 0 obj
|
20
|
+
<< /Length 631
|
21
|
+
>>
|
22
|
+
stream
|
23
|
+
q
|
24
|
+
0.3 w
|
25
|
+
|
26
|
+
BT
|
27
|
+
21.2598 98.8195 Td
|
28
|
+
/F2.0 8 Tf
|
29
|
+
[<44> 35 <41444f532041444943494f4e> 20 <414953>] TJ
|
30
|
+
ET
|
31
|
+
|
32
|
+
21.2598 21.5433 352.9134 75.1181 re
|
33
|
+
S
|
34
|
+
|
35
|
+
BT
|
36
|
+
23.2598 90.5634 Td
|
37
|
+
/F1.0 6 Tf
|
38
|
+
[<494e464f524d41> 40 <c7d5455320434f4d504c454d454e54> 93 <41524553>] TJ
|
39
|
+
ET
|
40
|
+
|
41
|
+
|
42
|
+
BT
|
43
|
+
23.2598 79.5634 Td
|
44
|
+
/F1.0 6 Tf
|
45
|
+
[<556d61206f6273657276> 25 <61e7e36f202a20456e64657265e76f3a2041> 74 <7620646120536175646164652031313235202d20456d20616e65> 15 <786f20616f207375706572206d65726361646f206d61696f7220646f2062616972726f>] TJ
|
46
|
+
ET
|
47
|
+
|
48
|
+
374.1732 21.5433 202.6772 75.1181 re
|
49
|
+
S
|
50
|
+
|
51
|
+
BT
|
52
|
+
376.1732 90.5634 Td
|
53
|
+
/F1.0 6 Tf
|
54
|
+
[<5245534552> 80 <56> 135 <41444f2041> 55 <4f20464953434f>] TJ
|
55
|
+
ET
|
56
|
+
|
57
|
+
Q
|
58
|
+
|
59
|
+
endstream
|
60
|
+
endobj
|
61
|
+
5 0 obj
|
62
|
+
<< /Type /Page
|
63
|
+
/Parent 3 0 R
|
64
|
+
/MediaBox [0 0 595.28 841.89]
|
65
|
+
/Contents 4 0 R
|
66
|
+
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
|
67
|
+
/Font << /F2.0 6 0 R
|
68
|
+
/F1.0 7 0 R
|
69
|
+
>>
|
70
|
+
>>
|
71
|
+
>>
|
72
|
+
endobj
|
73
|
+
6 0 obj
|
74
|
+
<< /Type /Font
|
75
|
+
/Subtype /Type1
|
76
|
+
/BaseFont /Times-Bold
|
77
|
+
/Encoding /WinAnsiEncoding
|
78
|
+
>>
|
79
|
+
endobj
|
80
|
+
7 0 obj
|
81
|
+
<< /Type /Font
|
82
|
+
/Subtype /Type1
|
83
|
+
/BaseFont /Times-Roman
|
84
|
+
/Encoding /WinAnsiEncoding
|
85
|
+
>>
|
86
|
+
endobj
|
87
|
+
xref
|
88
|
+
0 8
|
89
|
+
0000000000 65535 f
|
90
|
+
0000000015 00000 n
|
91
|
+
0000000109 00000 n
|
92
|
+
0000000158 00000 n
|
93
|
+
0000000215 00000 n
|
94
|
+
0000000897 00000 n
|
95
|
+
0000001089 00000 n
|
96
|
+
0000001187 00000 n
|
97
|
+
trailer
|
98
|
+
<< /Size 8
|
99
|
+
/Root 2 0 R
|
100
|
+
/Info 1 0 R
|
101
|
+
>>
|
102
|
+
startxref
|
103
|
+
1286
|
104
|
+
%%EOF
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
3
|
describe BrDanfe::DanfeLib::Dest do
|
4
|
-
let(:base_dir) { "./spec/fixtures/nfe/lib/"}
|
4
|
+
let(:base_dir) { "./spec/fixtures/nfe/lib/" }
|
5
5
|
let(:output_pdf) { "#{base_dir}output.pdf" }
|
6
6
|
|
7
7
|
let(:pdf) { BrDanfe::DanfeLib::Document.new }
|
@@ -32,6 +32,7 @@ describe BrDanfe::DanfeLib::Dest do
|
|
32
32
|
<xLgr>Av da Saudade</xLgr>
|
33
33
|
<nro>1125</nro>
|
34
34
|
<xBairro>Frutal</xBairro>
|
35
|
+
<xCpl>Sala 01 e 02</xCpl>
|
35
36
|
<cMun>3552403</cMun>
|
36
37
|
<xMun>SUMARE</xMun>
|
37
38
|
<UF>SP</UF>
|
@@ -72,6 +73,7 @@ describe BrDanfe::DanfeLib::Dest do
|
|
72
73
|
<xLgr>Av da Saudade</xLgr>
|
73
74
|
<nro>1125</nro>
|
74
75
|
<xBairro>Frutal</xBairro>
|
76
|
+
<xCpl>Sala 01 e 02</xCpl>
|
75
77
|
<cMun>3552403</cMun>
|
76
78
|
<xMun>SUMARE</xMun>
|
77
79
|
<UF>SP</UF>
|
@@ -164,5 +166,86 @@ describe BrDanfe::DanfeLib::Dest do
|
|
164
166
|
expect("#{base_dir}dest#render-with_ie.pdf").to have_same_content_of file: output_pdf
|
165
167
|
end
|
166
168
|
end
|
169
|
+
|
170
|
+
context "when recipient doesn't have address complement" do
|
171
|
+
let(:xml_as_string) do
|
172
|
+
<<-eos
|
173
|
+
<NFe xmlns="http://www.portalfiscal.inf.br/nfe">
|
174
|
+
<infNFe Id="NFe25111012345678901234550020000134151000134151" versao="3.10">
|
175
|
+
<ide>
|
176
|
+
<dhEmi>2011-10-29T13:02:59+00:00</dhEmi>
|
177
|
+
<dhSaiEnt>2011-10-30T12:32:45-03:00</dhSaiEnt>
|
178
|
+
</ide>
|
179
|
+
<dest>
|
180
|
+
<CNPJ>82743287000880</CNPJ>
|
181
|
+
<xNome>Schneider Electric Brasil Ltda</xNome>
|
182
|
+
<enderDest>
|
183
|
+
<xLgr>Av da Saudade</xLgr>
|
184
|
+
<nro>1125</nro>
|
185
|
+
<xBairro>Frutal</xBairro>
|
186
|
+
<cMun>3552403</cMun>
|
187
|
+
<xMun>SUMARE</xMun>
|
188
|
+
<UF>SP</UF>
|
189
|
+
<CEP>13171320</CEP>
|
190
|
+
<cPais>1058</cPais>
|
191
|
+
<xPais>BRASIL</xPais>
|
192
|
+
<fone>1921046300</fone>
|
193
|
+
</enderDest>
|
194
|
+
<IE>671008375110</IE>
|
195
|
+
</dest>
|
196
|
+
</infNFe>
|
197
|
+
</NFe>
|
198
|
+
eos
|
199
|
+
end
|
200
|
+
|
201
|
+
it "renders xml to the pdf" do
|
202
|
+
expect(File.exist?(output_pdf)).to be_falsey
|
203
|
+
|
204
|
+
pdf.render_file output_pdf
|
205
|
+
|
206
|
+
expect("#{base_dir}dest#render-without-address-complement.pdf").to have_same_content_of file: output_pdf
|
207
|
+
end
|
208
|
+
end
|
209
|
+
|
210
|
+
context "when recipient address (xLgr + nro + xCpl) has more than 63 characters" do
|
211
|
+
let(:xml_as_string) do
|
212
|
+
<<-eos
|
213
|
+
<NFe xmlns="http://www.portalfiscal.inf.br/nfe">
|
214
|
+
<infNFe Id="NFe25111012345678901234550020000134151000134151" versao="3.10">
|
215
|
+
<ide>
|
216
|
+
<dhEmi>2011-10-29T13:02:59+00:00</dhEmi>
|
217
|
+
<dhSaiEnt>2011-10-30T12:32:45-03:00</dhSaiEnt>
|
218
|
+
</ide>
|
219
|
+
<dest>
|
220
|
+
<CNPJ>82743287000880</CNPJ>
|
221
|
+
<xNome>Schneider Electric Brasil Ltda</xNome>
|
222
|
+
<enderDest>
|
223
|
+
<xLgr>Rua do governo do estado</xLgr>
|
224
|
+
<nro>1125</nro>
|
225
|
+
<xCpl>Em anexo ao super mercado maior do bairro</xCpl>
|
226
|
+
<xBairro>Frutal</xBairro>
|
227
|
+
<cMun>3552403</cMun>
|
228
|
+
<xMun>SUMARE</xMun>
|
229
|
+
<UF>SP</UF>
|
230
|
+
<CEP>13171320</CEP>
|
231
|
+
<cPais>1058</cPais>
|
232
|
+
<xPais>BRASIL</xPais>
|
233
|
+
<fone>1921046300</fone>
|
234
|
+
</enderDest>
|
235
|
+
<IE>671008375110</IE>
|
236
|
+
</dest>
|
237
|
+
</infNFe>
|
238
|
+
</NFe>
|
239
|
+
eos
|
240
|
+
end
|
241
|
+
|
242
|
+
it "it renders xml to pdf trimming the address of after 63 characters" do
|
243
|
+
expect(File.exist?(output_pdf)).to be_falsey
|
244
|
+
|
245
|
+
pdf.render_file output_pdf
|
246
|
+
|
247
|
+
expect("#{base_dir}dest#render-with-address-bigger.pdf").to have_same_content_of file: output_pdf
|
248
|
+
end
|
249
|
+
end
|
167
250
|
end
|
168
251
|
end
|
@@ -167,4 +167,96 @@ describe BrDanfe::DanfeLib::Helper do
|
|
167
167
|
end
|
168
168
|
end
|
169
169
|
end
|
170
|
+
|
171
|
+
describe ".address_is_too_big" do
|
172
|
+
let(:pdf) { BrDanfe::DanfeLib::Document.new }
|
173
|
+
|
174
|
+
context "when the address is too big for the street field at DANFE" do
|
175
|
+
let(:address) { "Rua do governo do estado 1125 - Em anexo ao super mercado maior do bairro" }
|
176
|
+
|
177
|
+
it "returns true" do
|
178
|
+
expect(BrDanfe::DanfeLib::Helper.address_is_too_big(pdf, address)).to be true
|
179
|
+
end
|
180
|
+
end
|
181
|
+
|
182
|
+
context "when the address fits in the street field in DANFE" do
|
183
|
+
let(:address) { "Rua do governo do estado 1125 - Salas 1 e 2" }
|
184
|
+
|
185
|
+
it "returns false" do
|
186
|
+
expect(BrDanfe::DanfeLib::Helper.address_is_too_big(pdf, address)).to be false
|
187
|
+
end
|
188
|
+
end
|
189
|
+
end
|
190
|
+
|
191
|
+
describe ".generate_address" do
|
192
|
+
let(:xml) do
|
193
|
+
<<-eos
|
194
|
+
<enderDest>
|
195
|
+
<xLgr>Rua do governo do estado</xLgr>
|
196
|
+
<nro>1125</nro>
|
197
|
+
<xCpl>Em anexo ao super mercado maior do bairro</xCpl>
|
198
|
+
</enderDest>
|
199
|
+
eos
|
200
|
+
end
|
201
|
+
|
202
|
+
let(:xml_street) do
|
203
|
+
Nokogiri::XML(xml)
|
204
|
+
end
|
205
|
+
|
206
|
+
it "returns the address with the street, number and complement" do
|
207
|
+
expect(BrDanfe::DanfeLib::Helper.generate_address(xml_street))
|
208
|
+
.to eq "Rua do governo do estado 1125 - Em anexo ao super mercado maior do bairro"
|
209
|
+
end
|
210
|
+
|
211
|
+
context "when recipient address hasn't complement" do
|
212
|
+
let(:xml) do
|
213
|
+
<<-eos
|
214
|
+
<enderDest>
|
215
|
+
<xLgr>Rua do governo do estado</xLgr>
|
216
|
+
<nro>1125</nro>
|
217
|
+
<xCpl></xCpl>
|
218
|
+
</enderDest>
|
219
|
+
eos
|
220
|
+
end
|
221
|
+
|
222
|
+
it "returns the address with the street and number" do
|
223
|
+
expect(BrDanfe::DanfeLib::Helper.generate_address(xml_street))
|
224
|
+
.to eq "Rua do governo do estado 1125"
|
225
|
+
end
|
226
|
+
end
|
227
|
+
|
228
|
+
context "when recipient address hasn't complement and number" do
|
229
|
+
let(:xml) do
|
230
|
+
<<-eos
|
231
|
+
<enderDest>
|
232
|
+
<xLgr>Rua do governo do estado</xLgr>
|
233
|
+
<nro></nro>
|
234
|
+
<xCpl></xCpl>
|
235
|
+
</enderDest>
|
236
|
+
eos
|
237
|
+
end
|
238
|
+
|
239
|
+
it "returns the address with the street only" do
|
240
|
+
expect(BrDanfe::DanfeLib::Helper.generate_address(xml_street))
|
241
|
+
.to eq "Rua do governo do estado"
|
242
|
+
end
|
243
|
+
end
|
244
|
+
|
245
|
+
context "when recipient address hasn't number" do
|
246
|
+
let(:xml) do
|
247
|
+
<<-eos
|
248
|
+
<enderDest>
|
249
|
+
<xLgr>Rua do governo do estado</xLgr>
|
250
|
+
<nro></nro>
|
251
|
+
<xCpl>Em anexo ao super mercado maior do bairro</xCpl>
|
252
|
+
</enderDest>
|
253
|
+
eos
|
254
|
+
end
|
255
|
+
|
256
|
+
it "returns the address with the street and complement" do
|
257
|
+
expect(BrDanfe::DanfeLib::Helper.generate_address(xml_street))
|
258
|
+
.to eq "Rua do governo do estado - Em anexo ao super mercado maior do bairro"
|
259
|
+
end
|
260
|
+
end
|
261
|
+
end
|
170
262
|
end
|
@@ -14,6 +14,29 @@ describe BrDanfe::DanfeLib::Infadic do
|
|
14
14
|
<<-eos
|
15
15
|
<NFe xmlns="http://www.portalfiscal.inf.br/nfe">
|
16
16
|
<infNFe Id="NFe25111012345678901234550020000134151000134151" versao="2.00">
|
17
|
+
<ide>
|
18
|
+
<dEmi>2011-10-29</dEmi>
|
19
|
+
<dSaiEnt>2011-10-30</dSaiEnt>
|
20
|
+
<hSaiEnt>15:32:45</hSaiEnt>
|
21
|
+
</ide>
|
22
|
+
<dest>
|
23
|
+
<CNPJ>82743287000880</CNPJ>
|
24
|
+
<xNome>Schneider Electric Brasil Ltda</xNome>
|
25
|
+
<enderDest>
|
26
|
+
<xLgr>Av da Saudade</xLgr>
|
27
|
+
<nro>1125</nro>
|
28
|
+
<xBairro>Frutal</xBairro>
|
29
|
+
<xCpl>Sala 01 e 02</xCpl>
|
30
|
+
<cMun>3552403</cMun>
|
31
|
+
<xMun>SUMARE</xMun>
|
32
|
+
<UF>SP</UF>
|
33
|
+
<CEP>13171320</CEP>
|
34
|
+
<cPais>1058</cPais>
|
35
|
+
<xPais>BRASIL</xPais>
|
36
|
+
<fone>1921046300</fone>
|
37
|
+
</enderDest>
|
38
|
+
<IE>671008375110</IE>
|
39
|
+
</dest>
|
17
40
|
<transp>
|
18
41
|
<vol>
|
19
42
|
<qVol>1</qVol>
|
@@ -123,6 +146,51 @@ describe BrDanfe::DanfeLib::Infadic do
|
|
123
146
|
expect("#{base_dir}infadic#render-difal.pdf").to have_same_content_of file: output_pdf
|
124
147
|
end
|
125
148
|
end
|
149
|
+
|
150
|
+
context "with too big address" do
|
151
|
+
let(:xml_as_string) do
|
152
|
+
<<-eos
|
153
|
+
<NFe xmlns="http://www.portalfiscal.inf.br/nfe">
|
154
|
+
<infNFe Id="NFe25111012345678901234550020000134151000134151" versao="2.00">
|
155
|
+
<ide>
|
156
|
+
<dEmi>2011-10-29</dEmi>
|
157
|
+
<dSaiEnt>2011-10-30</dSaiEnt>
|
158
|
+
<hSaiEnt>15:32:45</hSaiEnt>
|
159
|
+
</ide>
|
160
|
+
<dest>
|
161
|
+
<CNPJ>82743287000880</CNPJ>
|
162
|
+
<xNome>Schneider Electric Brasil Ltda</xNome>
|
163
|
+
<enderDest>
|
164
|
+
<xLgr>Av da Saudade</xLgr>
|
165
|
+
<nro>1125</nro>
|
166
|
+
<xBairro>Frutal</xBairro>
|
167
|
+
<xCpl>Em anexo ao super mercado maior do bairro</xCpl>
|
168
|
+
<cMun>3552403</cMun>
|
169
|
+
<xMun>SUMARE</xMun>
|
170
|
+
<UF>SP</UF>
|
171
|
+
<CEP>13171320</CEP>
|
172
|
+
<cPais>1058</cPais>
|
173
|
+
<xPais>BRASIL</xPais>
|
174
|
+
<fone>1921046300</fone>
|
175
|
+
</enderDest>
|
176
|
+
<IE>671008375110</IE>
|
177
|
+
</dest>
|
178
|
+
<infAdic>
|
179
|
+
<infCpl>Uma observação</infCpl>
|
180
|
+
</infAdic>
|
181
|
+
</infNFe>
|
182
|
+
</NFe>
|
183
|
+
eos
|
184
|
+
end
|
185
|
+
|
186
|
+
it "renders xml to the pdf with street on observation" do
|
187
|
+
expect(File.exist?(output_pdf)).to be_falsey
|
188
|
+
|
189
|
+
pdf.render_file output_pdf
|
190
|
+
|
191
|
+
expect("#{base_dir}infadic-with-street-data#render.pdf").to have_same_content_of file: output_pdf
|
192
|
+
end
|
193
|
+
end
|
126
194
|
end
|
127
195
|
|
128
196
|
context "with extra volume" do
|