br_danfe 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -42,7 +42,7 @@ describe BrDanfe::Icmstot do
42
42
 
43
43
  pdf.render_file output_pdf
44
44
 
45
- expect("#{base_dir}icmstot#render.pdf").to be_same_file_as(output_pdf)
45
+ expect("#{base_dir}icmstot#render.pdf").to have_same_content_of file: output_pdf
46
46
  end
47
47
  end
48
48
  end
@@ -59,7 +59,7 @@ describe BrDanfe::Infadic do
59
59
 
60
60
  pdf.render_file output_pdf
61
61
 
62
- expect("#{base_dir}infadic#render.pdf").to be_same_file_as(output_pdf)
62
+ expect("#{base_dir}infadic#render.pdf").to have_same_content_of file: output_pdf
63
63
  end
64
64
  end
65
65
 
@@ -74,7 +74,7 @@ describe BrDanfe::Infadic do
74
74
 
75
75
  pdf.render_file output_pdf
76
76
 
77
- expect("#{base_dir}infadic#render-extra_volume.pdf").to be_same_file_as(output_pdf)
77
+ expect("#{base_dir}infadic#render-extra_volume.pdf").to have_same_content_of file: output_pdf
78
78
  end
79
79
  end
80
80
  end
@@ -39,7 +39,7 @@ describe BrDanfe::Issqn do
39
39
 
40
40
  pdf.render_file output_pdf
41
41
 
42
- expect("#{base_dir}issqn#render.pdf").to be_same_file_as(output_pdf)
42
+ expect("#{base_dir}issqn#render.pdf").to have_same_content_of file: output_pdf
43
43
  end
44
44
  end
45
45
  end
@@ -1,12 +1,12 @@
1
1
  require "spec_helper"
2
2
 
3
3
  describe BrDanfe::Options do
4
- it "should return default config set in code" do
4
+ it "returns the default config set in the code" do
5
5
  options = BrDanfe::Options.new
6
6
  expect(options.logo_path).to eq("")
7
7
  end
8
8
 
9
- it "should return config set in params" do
9
+ it "returns the config set in params" do
10
10
  options = BrDanfe::Options.new({"logo_path" => "/fake/path/file.png"})
11
11
  expect(options.logo_path).to eq("/fake/path/file.png")
12
12
  end
@@ -36,7 +36,7 @@ describe BrDanfe::Ticket do
36
36
 
37
37
  pdf.render_file output_pdf
38
38
 
39
- expect("#{base_dir}ticket#render.pdf").to be_same_file_as(output_pdf)
39
+ expect("#{base_dir}ticket#render.pdf").to have_same_content_of file: output_pdf
40
40
  end
41
41
  end
42
42
  end
@@ -45,7 +45,7 @@ describe BrDanfe::Transp do
45
45
 
46
46
  pdf.render_file output_pdf
47
47
 
48
- expect("#{base_dir}transp#render.pdf").to be_same_file_as(output_pdf)
48
+ expect("#{base_dir}transp#render.pdf").to have_same_content_of file: output_pdf
49
49
  end
50
50
 
51
51
  context "when modFrete is 0" do
@@ -66,7 +66,7 @@ describe BrDanfe::Transp do
66
66
 
67
67
  pdf.render_file output_pdf
68
68
 
69
- expect("#{base_dir}transp#render-modfrete_0.pdf").to be_same_file_as(output_pdf)
69
+ expect("#{base_dir}transp#render-modfrete_0.pdf").to have_same_content_of file: output_pdf
70
70
  end
71
71
  end
72
72
 
@@ -88,7 +88,7 @@ describe BrDanfe::Transp do
88
88
 
89
89
  pdf.render_file output_pdf
90
90
 
91
- expect("#{base_dir}transp#render-modfrete_1.pdf").to be_same_file_as(output_pdf)
91
+ expect("#{base_dir}transp#render-modfrete_1.pdf").to have_same_content_of file: output_pdf
92
92
  end
93
93
  end
94
94
 
@@ -110,7 +110,7 @@ describe BrDanfe::Transp do
110
110
 
111
111
  pdf.render_file output_pdf
112
112
 
113
- expect("#{base_dir}transp#render-modfrete_2.pdf").to be_same_file_as(output_pdf)
113
+ expect("#{base_dir}transp#render-modfrete_2.pdf").to have_same_content_of file: output_pdf
114
114
  end
115
115
  end
116
116
 
@@ -132,7 +132,7 @@ describe BrDanfe::Transp do
132
132
 
133
133
  pdf.render_file output_pdf
134
134
 
135
- expect("#{base_dir}transp#render-modfrete_9.pdf").to be_same_file_as(output_pdf)
135
+ expect("#{base_dir}transp#render-modfrete_9.pdf").to have_same_content_of file: output_pdf
136
136
  end
137
137
  end
138
138
  end
data/spec/lib/vol_spec.rb CHANGED
@@ -55,11 +55,32 @@ describe BrDanfe::Vol do
55
55
 
56
56
  pdf.render_file output_pdf
57
57
 
58
- expect("#{base_dir}vol#render.pdf").to be_same_file_as(output_pdf)
58
+ expect("#{base_dir}vol#render.pdf").to have_same_content_of file: output_pdf
59
59
  end
60
60
 
61
61
  it "returns the quantity of volumes" do
62
62
  expect(subject.render).to eq 3
63
63
  end
64
+
65
+ context "when any <vol> tag is found" do
66
+ let(:xml_as_string) do
67
+ <<-eos
68
+ <NFe xmlns="http://www.portalfiscal.inf.br/nfe">
69
+ <infNFe Id="NFe25111012345678901234550020000134151000134151" versao="2.00">
70
+ <transp>
71
+ </transp>
72
+ </infNFe>
73
+ </NFe>
74
+ eos
75
+ end
76
+
77
+ it "renders blank boxes" do
78
+ expect(File.exist?(output_pdf)).to be_falsey
79
+
80
+ pdf.render_file output_pdf
81
+
82
+ expect("#{base_dir}vol#render-blank-boxes.pdf").to have_same_content_of file: output_pdf
83
+ end
84
+ end
64
85
  end
65
86
  end
data/spec/spec_helper.rb CHANGED
@@ -1,7 +1,11 @@
1
1
  require "simplecov"
2
2
  require "codeclimate-test-reporter"
3
+
3
4
  CodeClimate::TestReporter.start
4
- SimpleCov.start
5
+
6
+ SimpleCov.start do
7
+ add_filter "/spec/support"
8
+ end
5
9
 
6
10
  require "bundler/setup"
7
11
  require "br_danfe"
@@ -0,0 +1,29 @@
1
+ RSpec::Matchers.define(:have_same_content_of) do |file: nil|
2
+ expected_file_path = file
3
+
4
+ match do |actual_file_path|
5
+ if File.exists?(actual_file_path)
6
+ expect(md5_hash(actual_file_path)).to eq(md5_hash(expected_file_path))
7
+ else
8
+ create_when_missing(expected_file_path, actual_file_path)
9
+ end
10
+ end
11
+
12
+ def md5_hash(file_path)
13
+ Digest::MD5.hexdigest(File.read(file_path))
14
+ end
15
+
16
+ def create_when_missing(expected_file_path, actual_file_path)
17
+ puts "+----------------------------------------------------"
18
+ puts "|"
19
+ puts "| The file bellow doesn't exists and will be created:"
20
+ puts "|"
21
+ puts "| #{actual_file_path}"
22
+ puts "|"
23
+ puts "+----------------------------------------------------"
24
+
25
+ FileUtils.cp(expected_file_path, actual_file_path)
26
+
27
+ false
28
+ end
29
+ 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.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - ASSEINFO
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-19 00:00:00.000000000 Z
11
+ date: 2015-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -176,7 +176,7 @@ files:
176
176
  - lib/br_danfe/vol.rb
177
177
  - lib/br_danfe/xml.rb
178
178
  - lib/br_danfe/xprod.rb
179
- - spec/features/br_danfe_spec.rb
179
+ - spec/features/danfe_spec.rb
180
180
  - spec/fixtures/lib/dest#render-v2.00.pdf
181
181
  - spec/fixtures/lib/dest#render-v3.10.pdf
182
182
  - spec/fixtures/lib/dest#render-with_cnpj.pdf
@@ -207,6 +207,7 @@ files:
207
207
  - spec/fixtures/lib/transp#render-modfrete_2.pdf
208
208
  - spec/fixtures/lib/transp#render-modfrete_9.pdf
209
209
  - spec/fixtures/lib/transp#render.pdf
210
+ - spec/fixtures/lib/vol#render-blank-boxes.pdf
210
211
  - spec/fixtures/lib/vol#render.pdf
211
212
  - spec/fixtures/logo.png
212
213
  - spec/fixtures/v2.00/nfe_simples_nacional.xml
@@ -216,7 +217,6 @@ files:
216
217
  - spec/fixtures/v2.00/nfe_with_fci.xml
217
218
  - spec/fixtures/v2.00/nfe_with_fci.xml.fixture.pdf
218
219
  - spec/fixtures/v2.00/nfe_with_logo.xml
219
- - spec/fixtures/v2.00/nfe_with_logo.xml.fixture.pdf
220
220
  - spec/fixtures/v2.00/nfe_with_ns.xml
221
221
  - spec/fixtures/v2.00/nfe_with_ns.xml.fixture.pdf
222
222
  - spec/fixtures/v2.00/nfe_without_ns.xml
@@ -245,7 +245,7 @@ files:
245
245
  - spec/lib/xml_spec.rb
246
246
  - spec/lib/xprod_spec.rb
247
247
  - spec/spec_helper.rb
248
- - spec/support/be_same_file_as.rb
248
+ - spec/support/have_same_content_of.rb
249
249
  homepage: http://github.com/asseinfo/br_danfe
250
250
  licenses:
251
251
  - MIT
@@ -271,7 +271,7 @@ signing_key:
271
271
  specification_version: 4
272
272
  summary: DANFE pdf generator for Brazilian invoices.
273
273
  test_files:
274
- - spec/features/br_danfe_spec.rb
274
+ - spec/features/danfe_spec.rb
275
275
  - spec/fixtures/lib/dest#render-v2.00.pdf
276
276
  - spec/fixtures/lib/dest#render-v3.10.pdf
277
277
  - spec/fixtures/lib/dest#render-with_cnpj.pdf
@@ -302,6 +302,7 @@ test_files:
302
302
  - spec/fixtures/lib/transp#render-modfrete_2.pdf
303
303
  - spec/fixtures/lib/transp#render-modfrete_9.pdf
304
304
  - spec/fixtures/lib/transp#render.pdf
305
+ - spec/fixtures/lib/vol#render-blank-boxes.pdf
305
306
  - spec/fixtures/lib/vol#render.pdf
306
307
  - spec/fixtures/logo.png
307
308
  - spec/fixtures/v2.00/nfe_simples_nacional.xml
@@ -311,7 +312,6 @@ test_files:
311
312
  - spec/fixtures/v2.00/nfe_with_fci.xml
312
313
  - spec/fixtures/v2.00/nfe_with_fci.xml.fixture.pdf
313
314
  - spec/fixtures/v2.00/nfe_with_logo.xml
314
- - spec/fixtures/v2.00/nfe_with_logo.xml.fixture.pdf
315
315
  - spec/fixtures/v2.00/nfe_with_ns.xml
316
316
  - spec/fixtures/v2.00/nfe_with_ns.xml.fixture.pdf
317
317
  - spec/fixtures/v2.00/nfe_without_ns.xml
@@ -340,4 +340,4 @@ test_files:
340
340
  - spec/lib/xml_spec.rb
341
341
  - spec/lib/xprod_spec.rb
342
342
  - spec/spec_helper.rb
343
- - spec/support/be_same_file_as.rb
343
+ - spec/support/have_same_content_of.rb
@@ -1,127 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe BrDanfe::Danfe do
4
- let(:output_pdf) { "#{base_dir}output.pdf" }
5
-
6
- context "when xml's version is v2.00" do
7
- let(:base_dir) { "./spec/fixtures/v2.00/"}
8
-
9
- describe "#render_pdf" do
10
- it "renders a basic NF-e with namespace" do
11
- danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_with_ns.xml"))
12
-
13
- expected = IO.binread("#{base_dir}nfe_with_ns.xml.fixture.pdf")
14
-
15
- expect(danfe.render_pdf).to eq expected
16
- end
17
-
18
- it "renders another basic NF-e without namespace" do
19
- danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_without_ns.xml"))
20
-
21
- expected = IO.binread("#{base_dir}nfe_without_ns.xml.fixture.pdf")
22
-
23
- expect(danfe.render_pdf).to eq expected
24
- end
25
-
26
- it "renders a NF-e having FCI in its items" do
27
- danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_with_fci.xml"))
28
-
29
- expected = IO.binread("#{base_dir}nfe_with_fci.xml.fixture.pdf")
30
-
31
- expect(danfe.render_pdf).to eq expected
32
- end
33
-
34
- it "renders a Simples Nacional NF-e using CSOSN" do
35
- danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_simples_nacional.xml"))
36
-
37
- expected = IO.binread("#{base_dir}nfe_simples_nacional.xml.fixture.pdf")
38
-
39
- expect(danfe.render_pdf).to eq expected
40
- end
41
-
42
- it "renders a NF-e with extra volumes" do
43
- danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_with_extra_volumes.xml"))
44
-
45
- expected = IO.binread("#{base_dir}nfe_with_extra_volumes.xml.fixture.pdf")
46
-
47
- expect(danfe.render_pdf).to eq expected
48
- end
49
- end
50
-
51
- describe "#save_pdf" do
52
- before { File.delete(output_pdf) if File.exist?(output_pdf) }
53
-
54
- it "renders a basic NF-e with namespace" do
55
- expect(File.exist?(output_pdf)).to be_falsey
56
-
57
- danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_with_ns.xml"))
58
- danfe.save_pdf output_pdf
59
-
60
- expect("#{base_dir}nfe_with_ns.xml.fixture.pdf").to be_same_file_as(output_pdf)
61
- end
62
-
63
- it "renders another basic NF-e without namespace" do
64
- expect(File.exist?(output_pdf)).to be_falsey
65
-
66
- danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_without_ns.xml"))
67
- danfe.save_pdf output_pdf
68
-
69
- expect("#{base_dir}nfe_without_ns.xml.fixture.pdf").to be_same_file_as(output_pdf)
70
- end
71
-
72
- it "renders a NF-e having FCI in its items" do
73
- expect(File.exist?(output_pdf)).to be_falsey
74
-
75
- danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_with_fci.xml"))
76
- danfe.save_pdf output_pdf
77
-
78
- expect("#{base_dir}nfe_with_fci.xml.fixture.pdf").to be_same_file_as(output_pdf)
79
- end
80
-
81
- it "renders a Simples Nacional NF-e using CSOSN" do
82
- expect(File.exist?(output_pdf)).to be_falsey
83
-
84
- danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_simples_nacional.xml"))
85
- danfe.save_pdf output_pdf
86
-
87
- expect("#{base_dir}nfe_simples_nacional.xml.fixture.pdf").to be_same_file_as(output_pdf)
88
- end
89
-
90
- it "renders a NF-e with extra volumes" do
91
- expect(File.exist?(output_pdf)).to be_falsey
92
-
93
- danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_with_extra_volumes.xml"))
94
- danfe.save_pdf output_pdf
95
-
96
- expect("#{base_dir}nfe_with_extra_volumes.xml.fixture.pdf").to be_same_file_as(output_pdf)
97
- end
98
- end
99
- end
100
-
101
- context "when xml's version is v3.10" do
102
- let(:base_dir) { "./spec/fixtures/v3.10/"}
103
-
104
- describe "#render_pdf" do
105
- it "renders a Simples Nacional NF-e using CSOSN" do
106
- danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_simples_nacional.xml"))
107
-
108
- expected = IO.binread("#{base_dir}nfe_simples_nacional.xml.fixture.pdf")
109
-
110
- expect(danfe.render_pdf).to eq expected
111
- end
112
- end
113
-
114
- describe "#save_pdf" do
115
- before { File.delete(output_pdf) if File.exist?(output_pdf) }
116
-
117
- it "renders a Simples Nacional NF-e using CSOSN" do
118
- expect(File.exist?(output_pdf)).to be_falsey
119
-
120
- danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_simples_nacional.xml"))
121
- danfe.save_pdf output_pdf
122
-
123
- expect("#{base_dir}nfe_simples_nacional.xml.fixture.pdf").to be_same_file_as(output_pdf)
124
- end
125
- end
126
- end
127
- end