br_danfe 0.7.1 → 0.7.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ba0be0232ce7c32209b3efcf97e13e9ad7a8826d
4
- data.tar.gz: d12d50a599043e9cc1297ffba185ab19554775b4
3
+ metadata.gz: bb741f1d1066620c0aa847c09fb4fa72b200c99e
4
+ data.tar.gz: a264f79ee360582e6ad7190fc8efebc14a630e8f
5
5
  SHA512:
6
- metadata.gz: b2eb27d0c88590cb39c4124c52f874f16f52a2700e4f2ee0adfc549293c88714ad19d04d02b269afa954ba7a8d4b0d31bd49b1d6283c1e1ee28e36b9e1a987ed
7
- data.tar.gz: a103bf1225b7e26d541fece0bd3c7b47a8ffbe33a1549242bca9e472a45ebec01753aea3982cce03b943cf7e49a1aab87640423a77586761b5a39663a60a431f
6
+ metadata.gz: b9a9e0920ff13af6e4e9b9de29cb6a8db6da16b666a038551d51df1854805813bc6793569cf12a7a7172d9d30d2830b25df9bfff69d0aa4670e273dd30222e5d
7
+ data.tar.gz: cf94b429c376ab34b878409c257351025a935070a16b53f0fb5901d2e7516ac1317c7062c1758a9d0a7f66c5a7da19ea3a3c625c90056f55d64395f7d01c8744
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- br_danfe (0.7.1)
4
+ br_danfe (0.7.2)
5
5
  barby (= 0.5.1)
6
6
  br_documents (>= 0.0.8)
7
7
  i18n
@@ -87,4 +87,4 @@ RUBY VERSION
87
87
  ruby 2.2.5p319
88
88
 
89
89
  BUNDLED WITH
90
- 1.15.3
90
+ 1.16.1
data/README.md CHANGED
@@ -15,6 +15,7 @@ XML version | Supported?
15
15
  1.00 | no
16
16
  2.00 | yes
17
17
  3.10 | yes
18
+ 4.00 | yes
18
19
 
19
20
  ## Installing
20
21
 
@@ -49,13 +50,7 @@ XML version | Supported?
49
50
  * `logo_path`: Path of sender's logo image.
50
51
  * `logo_dimensions`: Dimensions of the logo. Ex: logo_dimensions = { width: 100, height: 90 }
51
52
 
52
- XML version | Supported?
53
- ----------- | ----------
54
- 1.00 | no
55
- 2.00 | yes
56
- 3.10 | yes
57
-
58
- ### CC-e - _Carta de Correção Eletrônica_
53
+ ### CC-e - Carta de Correção Eletrônica
59
54
 
60
55
  #### Usage in Ruby
61
56
 
@@ -103,18 +98,18 @@ You needs to install all necessaries dependencies using bunder like above:
103
98
 
104
99
  You can run all RSpec specs using:
105
100
 
106
- $ rspec
101
+ $ bundle exec rspec
107
102
 
108
103
 
109
104
  ## About tests
110
105
 
111
- > If you modify something that caused general visual changes at output pdfs, so you have to rebuild the fixtures pdf files.
106
+ > If you modify something that caused general visual changes at output pdf's, so you have to rebuild the fixtures pdf files.
112
107
  >
113
- > You can do this simply deleting the fixture pdf file. The `have_same_content_of` matcher will recreate the fixture in the next time you run the `rspec` command.
108
+ > You can do this simply deleting the fixture pdf file. The `have_same_content_of` matcher will recreate the fixture in the next time you run the `bundle exec rspec` command.
114
109
 
115
110
  ### Code coverage
116
111
 
117
- Code coverage is available through of SimpleCov. Just run `rspec` and open the coverage report in your browser.
112
+ Code coverage is available through of SimpleCov. Just run `bundle exec rspec` and open the coverage report in your browser.
118
113
 
119
114
  ### Fake data for generating new fixtures
120
115
 
@@ -183,9 +178,9 @@ You can generate new data using [4devs generators](http://www.4devs.com.br).
183
178
 
184
179
  You can build using one of the above tasks
185
180
 
186
- $ rake build # Build br_danfe-X.X.X.gem into the pkg directory
187
- $ rake install # Build and install br_danfe-X.X.X.gem into system gems
188
- $ rake release # Create tag vX.X.X and build and push br_danfe-X.X.X.gem to Rubygems
181
+ $ bundle exec rake build # Build br_danfe-X.X.X.gem into the pkg directory
182
+ $ bundle exec rake install # Build and install br_danfe-X.X.X.gem into system gems
183
+ $ bundle exec rake release # Create tag vX.X.X, build and push br_danfe-X.X.X.gem to Rubygems
189
184
 
190
185
  ## Contributing
191
186
 
@@ -7,6 +7,7 @@ module BrDanfe
7
7
  def initialize(pdf, xml)
8
8
  @pdf = pdf
9
9
  @xml = xml
10
+ @xml_version_is_310_or_newer = @xml.version_is_310_or_newer?
10
11
 
11
12
  @ltitle = Y - 0.42
12
13
  @l1 = Y
@@ -21,10 +22,11 @@ module BrDanfe
21
22
  render_line2
22
23
  render_line3
23
24
 
24
- render_dates_block
25
+ @xml_version_is_310_or_newer ? render_dates_for_nfe_310_or_newer : render_dates_for_older_nfes
25
26
  end
26
27
 
27
28
  private
29
+
28
30
  def render_line1
29
31
  @pdf.lbox LINE_HEIGHT, 11.82, 0.75, @l1, @xml, "dest/xNome"
30
32
  render_cnpj_cpf
@@ -72,25 +74,22 @@ module BrDanfe
72
74
  @pdf.lie LINE_HEIGHT, 4.38, 12.56, @l3, @xml, "enderDest/UF", "dest/IE"
73
75
  end
74
76
 
75
- def render_dates_block
77
+ def phone
78
+ Phone.format(@xml["enderDest/fone"])
79
+ end
76
80
 
77
- if @xml.version_310?
78
- dEmi = "ide/dhEmi"
79
- dSaiEnt = "ide/dhSaiEnt"
80
- hSaiEnt = "ide/dhSaiEnt"
81
- else
82
- dEmi = "ide/dEmi"
83
- dSaiEnt = "ide/dSaiEnt"
84
- hSaiEnt = "ide/hSaiEnt"
85
- end
81
+ def render_dates_for_nfe_310_or_newer
82
+ render_dates "ide/dhEmi", "ide/dhSaiEnt", "ide/dhSaiEnt"
83
+ end
86
84
 
87
- @pdf.ldate LINE_HEIGHT, 2.92, 17.40, @l1, "ide.dEmi", @xml[dEmi], { align: :right }
88
- @pdf.ldate LINE_HEIGHT, 2.92, 17.40, @l2, "ide.dSaiEnt", @xml[dSaiEnt], { align: :right }
89
- @pdf.ltime LINE_HEIGHT, 2.92, 17.40, @l3, "ide.hSaiEnt", @xml[hSaiEnt], { align: :right }
85
+ def render_dates(emitted_at_date_and_hour, exited_at_date, exited_at_hour)
86
+ @pdf.ldate LINE_HEIGHT, 2.92, 17.40, @l1, "ide.dEmi", @xml[emitted_at_date_and_hour], { align: :right }
87
+ @pdf.ldate LINE_HEIGHT, 2.92, 17.40, @l2, "ide.dSaiEnt", @xml[exited_at_date], { align: :right }
88
+ @pdf.ltime LINE_HEIGHT, 2.92, 17.40, @l3, "ide.hSaiEnt", @xml[exited_at_hour], { align: :right }
90
89
  end
91
90
 
92
- def phone
93
- Phone.format(@xml["enderDest/fone"])
91
+ def render_dates_for_older_nfes
92
+ render_dates "ide/dEmi", "ide/dSaiEnt", "ide/hSaiEnt"
94
93
  end
95
94
  end
96
95
  end
@@ -30,8 +30,8 @@ module BrDanfe
30
30
  result
31
31
  end
32
32
 
33
- def version_310?
34
- @xml.css("infNFe").attr("versao").to_s == "3.10"
33
+ def version_is_310_or_newer?
34
+ @xml.css("infNFe").attr("versao").to_s.to_f >= 3.10
35
35
  end
36
36
  end
37
37
  end
@@ -1,3 +1,3 @@
1
1
  module BrDanfe
2
- VERSION = "0.7.1"
2
+ VERSION = "0.7.2".freeze
3
3
  end
@@ -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 2451
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 <7620646120536175646164652031313235202d2053616c612030312065203032>] 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
+ [<33302f30372f32303138>] 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
+ [<33302f30372f32303138>] 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
+ [<31343a33323a3435>] 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
+ 0000002718 00000 n
262
+ 0000002910 00000 n
263
+ 0000003008 00000 n
264
+ trailer
265
+ << /Size 8
266
+ /Root 2 0 R
267
+ /Info 1 0 R
268
+ >>
269
+ startxref
270
+ 3107
271
+ %%EOF
@@ -1,8 +1,7 @@
1
1
  require "spec_helper"
2
2
 
3
3
  describe BrDanfe::DanfeLib::Dest do
4
- let(:base_dir) { "./spec/fixtures/nfe/lib/" }
5
- let(:output_pdf) { "#{base_dir}output.pdf" }
4
+ let(:path_of_expected_pdf) { "./spec/fixtures/nfe/lib/output.pdf" }
6
5
 
7
6
  let(:pdf) { BrDanfe::DanfeLib::Document.new }
8
7
  let(:xml) { BrDanfe::DanfeLib::XML.new(xml_as_string) }
@@ -11,8 +10,8 @@ describe BrDanfe::DanfeLib::Dest do
11
10
 
12
11
  describe "#render" do
13
12
  before do
13
+ File.delete(path_of_expected_pdf) if File.exist?(path_of_expected_pdf)
14
14
  subject.render
15
- File.delete(output_pdf) if File.exist?(output_pdf)
16
15
  end
17
16
 
18
17
  context "when nf-e's version is 2.00" do
@@ -49,11 +48,11 @@ describe BrDanfe::DanfeLib::Dest do
49
48
  end
50
49
 
51
50
  it "renders xml to the pdf" do
52
- expect(File.exist?(output_pdf)).to be_falsey
51
+ expect(File.exist?(path_of_expected_pdf)).to eql false
53
52
 
54
- pdf.render_file output_pdf
53
+ pdf.render_file path_of_expected_pdf
55
54
 
56
- expect("#{base_dir}dest#render-v2.00.pdf").to have_same_content_of file: output_pdf
55
+ expect("./spec/fixtures/nfe/lib/dest#render-v2.00.pdf").to have_same_content_of file: path_of_expected_pdf
57
56
  end
58
57
  end
59
58
 
@@ -90,11 +89,52 @@ describe BrDanfe::DanfeLib::Dest do
90
89
  end
91
90
 
92
91
  it "renders xml to the pdf" do
93
- expect(File.exist?(output_pdf)).to be_falsey
92
+ expect(File.exist?(path_of_expected_pdf)).to eql false
94
93
 
95
- pdf.render_file output_pdf
94
+ pdf.render_file path_of_expected_pdf
96
95
 
97
- expect("#{base_dir}dest#render-v3.10.pdf").to have_same_content_of file: output_pdf
96
+ expect("./spec/fixtures/nfe/lib/dest#render-v3.10.pdf").to have_same_content_of file: path_of_expected_pdf
97
+ end
98
+ end
99
+
100
+ context "when nf-e's version is 4.00" do
101
+ let(:xml_as_string) do
102
+ <<-eos
103
+ <NFe xmlns="http://www.portalfiscal.inf.br/nfe">
104
+ <infNFe Id="NFe25111012345678901234550020000134151000134151" versao="4.00">
105
+ <ide>
106
+ <dhEmi>2018-07-30T13:30:59+00:00</dhEmi>
107
+ <dhSaiEnt>2018-07-30T14:32:45-03:00</dhSaiEnt>
108
+ </ide>
109
+ <dest>
110
+ <CNPJ>82743287000880</CNPJ>
111
+ <xNome>Schneider Electric Brasil Ltda</xNome>
112
+ <enderDest>
113
+ <xLgr>Av da Saudade</xLgr>
114
+ <nro>1125</nro>
115
+ <xBairro>Frutal</xBairro>
116
+ <xCpl>Sala 01 e 02</xCpl>
117
+ <cMun>3552403</cMun>
118
+ <xMun>SUMARE</xMun>
119
+ <UF>SP</UF>
120
+ <CEP>13171320</CEP>
121
+ <cPais>1058</cPais>
122
+ <xPais>BRASIL</xPais>
123
+ <fone>1921046300</fone>
124
+ </enderDest>
125
+ <IE>671008375110</IE>
126
+ </dest>
127
+ </infNFe>
128
+ </NFe>
129
+ eos
130
+ end
131
+
132
+ it "renders xml to the pdf" do
133
+ expect(File.exist?(path_of_expected_pdf)).to eql false
134
+
135
+ pdf.render_file path_of_expected_pdf
136
+
137
+ expect("./spec/fixtures/nfe/lib/dest#render-v4.00.pdf").to have_same_content_of file: path_of_expected_pdf
98
138
  end
99
139
  end
100
140
 
@@ -112,11 +152,11 @@ describe BrDanfe::DanfeLib::Dest do
112
152
  end
113
153
 
114
154
  it "renders xml to the pdf" do
115
- expect(File.exist?(output_pdf)).to be_falsey
155
+ expect(File.exist?(path_of_expected_pdf)).to eql false
116
156
 
117
- pdf.render_file output_pdf
157
+ pdf.render_file path_of_expected_pdf
118
158
 
119
- expect("#{base_dir}dest#render-with_cnpj.pdf").to have_same_content_of file: output_pdf
159
+ expect("./spec/fixtures/nfe/lib/dest#render-with_cnpj.pdf").to have_same_content_of file: path_of_expected_pdf
120
160
  end
121
161
  end
122
162
 
@@ -134,11 +174,11 @@ describe BrDanfe::DanfeLib::Dest do
134
174
  end
135
175
 
136
176
  it "renders xml to the pdf" do
137
- expect(File.exist?(output_pdf)).to be_falsey
177
+ expect(File.exist?(path_of_expected_pdf)).to eql false
138
178
 
139
- pdf.render_file output_pdf
179
+ pdf.render_file path_of_expected_pdf
140
180
 
141
- expect("#{base_dir}dest#render-with_cpf.pdf").to have_same_content_of file: output_pdf
181
+ expect("./spec/fixtures/nfe/lib/dest#render-with_cpf.pdf").to have_same_content_of file: path_of_expected_pdf
142
182
  end
143
183
  end
144
184
 
@@ -159,11 +199,11 @@ describe BrDanfe::DanfeLib::Dest do
159
199
  end
160
200
 
161
201
  it "renders xml to the pdf" do
162
- expect(File.exist?(output_pdf)).to be_falsey
202
+ expect(File.exist?(path_of_expected_pdf)).to eql false
163
203
 
164
- pdf.render_file output_pdf
204
+ pdf.render_file path_of_expected_pdf
165
205
 
166
- expect("#{base_dir}dest#render-with_ie.pdf").to have_same_content_of file: output_pdf
206
+ expect("./spec/fixtures/nfe/lib/dest#render-with_ie.pdf").to have_same_content_of file: path_of_expected_pdf
167
207
  end
168
208
  end
169
209
 
@@ -199,11 +239,12 @@ describe BrDanfe::DanfeLib::Dest do
199
239
  end
200
240
 
201
241
  it "renders xml to the pdf" do
202
- expect(File.exist?(output_pdf)).to be_falsey
242
+ expect(File.exist?(path_of_expected_pdf)).to eql false
203
243
 
204
- pdf.render_file output_pdf
244
+ pdf.render_file path_of_expected_pdf
205
245
 
206
- expect("#{base_dir}dest#render-without-address-complement.pdf").to have_same_content_of file: output_pdf
246
+ expect("./spec/fixtures/nfe/lib/dest#render-without-address-complement.pdf")
247
+ .to have_same_content_of file: path_of_expected_pdf
207
248
  end
208
249
  end
209
250
 
@@ -239,12 +280,13 @@ describe BrDanfe::DanfeLib::Dest do
239
280
  eos
240
281
  end
241
282
 
242
- it "it renders xml to pdf trimming the address of after 63 characters" do
243
- expect(File.exist?(output_pdf)).to be_falsey
283
+ it "renders xml to pdf discarding the address of after 63 characters" do
284
+ expect(File.exist?(path_of_expected_pdf)).to eql false
244
285
 
245
- pdf.render_file output_pdf
286
+ pdf.render_file path_of_expected_pdf
246
287
 
247
- expect("#{base_dir}dest#render-with-address-bigger.pdf").to have_same_content_of file: output_pdf
288
+ expect("./spec/fixtures/nfe/lib/dest#render-with-address-bigger.pdf")
289
+ .to have_same_content_of file: path_of_expected_pdf
248
290
  end
249
291
  end
250
292
  end
@@ -3,8 +3,8 @@ require "spec_helper"
3
3
  describe BrDanfe::DanfeLib::XML do
4
4
  subject { BrDanfe::DanfeLib::XML.new(xml_as_string) }
5
5
 
6
- describe "#version_310?" do
7
- describe "when xml's version is 3.10" do
6
+ describe "#version_is_310_or_newer?" do
7
+ describe "when xml's version is equal 3.10" do
8
8
  let(:xml_as_string) do
9
9
  <<-eos
10
10
  <NFe xmlns="http://www.portalfiscal.inf.br/nfe">
@@ -14,12 +14,27 @@ describe BrDanfe::DanfeLib::XML do
14
14
  eos
15
15
  end
16
16
 
17
- it "is true" do
18
- expect(subject.version_310?).to be_truthy
17
+ it "returns true" do
18
+ expect(subject.version_is_310_or_newer?).to eql true
19
19
  end
20
20
  end
21
21
 
22
- describe "when xml's version isn't 3.10" do
22
+ describe "when xml's version is greather 3.10" do
23
+ let(:xml_as_string) do
24
+ <<-eos
25
+ <NFe xmlns="http://www.portalfiscal.inf.br/nfe">
26
+ <infNFe versao="4.00" Id="NFe35150162013294000143550010000000011000000017">
27
+ </infNFe>
28
+ </NFe>
29
+ eos
30
+ end
31
+
32
+ it "returns true" do
33
+ expect(subject.version_is_310_or_newer?).to eql true
34
+ end
35
+ end
36
+
37
+ describe "when xml's version is minor that 3.10" do
23
38
  let(:xml_as_string) do
24
39
  <<-eos
25
40
  <NFe xmlns="http://www.portalfiscal.inf.br/nfe">
@@ -29,8 +44,8 @@ describe BrDanfe::DanfeLib::XML do
29
44
  eos
30
45
  end
31
46
 
32
- it "is false" do
33
- expect(subject.version_310?).to be_falsey
47
+ it "returns false" do
48
+ expect(subject.version_is_310_or_newer?).to eql false
34
49
  end
35
50
  end
36
51
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: br_danfe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - ASSEINFO
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-28 00:00:00.000000000 Z
11
+ date: 2018-07-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -220,6 +220,7 @@ files:
220
220
  - spec/fixtures/logo.png
221
221
  - spec/fixtures/nfe/lib/dest#render-v2.00.pdf
222
222
  - spec/fixtures/nfe/lib/dest#render-v3.10.pdf
223
+ - spec/fixtures/nfe/lib/dest#render-v4.00.pdf
223
224
  - spec/fixtures/nfe/lib/dest#render-with-address-bigger.pdf
224
225
  - spec/fixtures/nfe/lib/dest#render-with_cnpj.pdf
225
226
  - spec/fixtures/nfe/lib/dest#render-with_cpf.pdf
@@ -336,7 +337,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
336
337
  version: '0'
337
338
  requirements: []
338
339
  rubyforge_project:
339
- rubygems_version: 2.4.8
340
+ rubygems_version: 2.4.5.1
340
341
  signing_key:
341
342
  specification_version: 4
342
343
  summary: DANFE pdf generator for Brazilian invoices.
@@ -361,6 +362,7 @@ test_files:
361
362
  - spec/fixtures/logo.png
362
363
  - spec/fixtures/nfe/lib/dest#render-v2.00.pdf
363
364
  - spec/fixtures/nfe/lib/dest#render-v3.10.pdf
365
+ - spec/fixtures/nfe/lib/dest#render-v4.00.pdf
364
366
  - spec/fixtures/nfe/lib/dest#render-with-address-bigger.pdf
365
367
  - spec/fixtures/nfe/lib/dest#render-with_cnpj.pdf
366
368
  - spec/fixtures/nfe/lib/dest#render-with_cpf.pdf