br_danfe 0.11.1 → 0.11.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.
Files changed (146) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +1 -0
  3. data/.rubocop.yml +113 -0
  4. data/Gemfile.lock +40 -19
  5. data/Rakefile +3 -3
  6. data/br_danfe.gemspec +7 -7
  7. data/lib/br_danfe.rb +14 -14
  8. data/lib/br_danfe/cce.rb +1 -0
  9. data/lib/br_danfe/cce_lib/barcode.rb +3 -2
  10. data/lib/br_danfe/cce_lib/correction.rb +3 -2
  11. data/lib/br_danfe/cce_lib/document.rb +15 -5
  12. data/lib/br_danfe/cce_lib/footer.rb +1 -1
  13. data/lib/br_danfe/cce_lib/header.rb +1 -1
  14. data/lib/br_danfe/cce_lib/nfe_key.rb +4 -3
  15. data/lib/br_danfe/cce_lib/protocol.rb +4 -3
  16. data/lib/br_danfe/danfe.rb +17 -17
  17. data/lib/br_danfe/danfe_lib/cep.rb +1 -1
  18. data/lib/br_danfe/danfe_lib/cst.rb +8 -6
  19. data/lib/br_danfe/danfe_lib/dest.rb +21 -23
  20. data/lib/br_danfe/danfe_lib/det_body.rb +20 -20
  21. data/lib/br_danfe/danfe_lib/document.rb +49 -36
  22. data/lib/br_danfe/danfe_lib/dup.rb +11 -10
  23. data/lib/br_danfe/danfe_lib/emit_header.rb +38 -34
  24. data/lib/br_danfe/danfe_lib/helper.rb +23 -23
  25. data/lib/br_danfe/danfe_lib/icmstot.rb +12 -12
  26. data/lib/br_danfe/danfe_lib/infadic.rb +1 -0
  27. data/lib/br_danfe/danfe_lib/issqn.rb +6 -6
  28. data/lib/br_danfe/danfe_lib/options.rb +6 -5
  29. data/lib/br_danfe/danfe_lib/phone.rb +2 -2
  30. data/lib/br_danfe/danfe_lib/ticket.rb +6 -4
  31. data/lib/br_danfe/danfe_lib/transp.rb +27 -26
  32. data/lib/br_danfe/danfe_lib/vol.rb +9 -8
  33. data/lib/br_danfe/danfe_lib/xml.rb +6 -6
  34. data/lib/br_danfe/danfe_lib/xprod.rb +22 -23
  35. data/lib/br_danfe/uf.rb +1 -4
  36. data/lib/br_danfe/version.rb +1 -1
  37. data/spec/features/cce_spec.rb +6 -6
  38. data/spec/features/danfe_spec.rb +25 -25
  39. data/spec/fixtures/cce/lib/barcode#render.pdf +5 -1
  40. data/spec/fixtures/cce/lib/correction#render.pdf +6 -2
  41. data/spec/fixtures/cce/lib/document#box.pdf +5 -1
  42. data/spec/fixtures/cce/lib/document#box.with.block.pdf +6 -2
  43. data/spec/fixtures/cce/lib/document#text.align.pdf +6 -2
  44. data/spec/fixtures/cce/lib/document#text.pad.pdf +6 -2
  45. data/spec/fixtures/cce/lib/document#text.simple.pdf +6 -2
  46. data/spec/fixtures/cce/lib/document#text.size.pdf +6 -2
  47. data/spec/fixtures/cce/lib/document#text.style.pdf +6 -2
  48. data/spec/fixtures/cce/lib/footer#render.pdf +6 -2
  49. data/spec/fixtures/cce/lib/header#render.pdf +6 -2
  50. data/spec/fixtures/cce/lib/nfe_key#render.pdf +7 -3
  51. data/spec/fixtures/cce/lib/protocol#render.pdf +7 -3
  52. data/spec/fixtures/cce/v1.00/cce.fixture.pdf +7 -3
  53. data/spec/fixtures/nfe/lib/dest#render-v2.00.pdf +7 -3
  54. data/spec/fixtures/nfe/lib/dest#render-v3.10.pdf +7 -3
  55. data/spec/fixtures/nfe/lib/dest#render-v4.00.pdf +7 -3
  56. data/spec/fixtures/nfe/lib/dest#render-with-address-bigger.pdf +7 -3
  57. data/spec/fixtures/nfe/lib/dest#render-with_cnpj.pdf +7 -3
  58. data/spec/fixtures/nfe/lib/dest#render-with_cpf.pdf +7 -3
  59. data/spec/fixtures/nfe/lib/dest#render-with_ie.pdf +7 -3
  60. data/spec/fixtures/nfe/lib/dest#render-without-address-complement.pdf +7 -3
  61. data/spec/fixtures/nfe/lib/det_body#render-csosn.pdf +383 -379
  62. data/spec/fixtures/nfe/lib/det_body#render-cst.pdf +233 -229
  63. data/spec/fixtures/nfe/lib/det_body#render-fci.pdf +158 -154
  64. data/spec/fixtures/nfe/lib/det_body#render-icms_st.pdf +158 -154
  65. data/spec/fixtures/nfe/lib/det_body#render-quantity_with_custom_precision.pdf +158 -154
  66. data/spec/fixtures/nfe/lib/det_body#render-three_pages.pdf +3697 -3685
  67. data/spec/fixtures/nfe/lib/det_body#render-two_pages.pdf +3540 -3532
  68. data/spec/fixtures/nfe/lib/det_body#render-unit_price_with_custom_precision.pdf +158 -154
  69. data/spec/fixtures/nfe/lib/det_body#render-with_infadprod.pdf +158 -154
  70. data/spec/fixtures/nfe/lib/det_body#render-with_issqn.pdf +1665 -1657
  71. data/spec/fixtures/nfe/lib/det_body#render-without_issqn.pdf +1665 -1657
  72. data/spec/fixtures/nfe/lib/document#lcnpj-blank.pdf +6 -2
  73. data/spec/fixtures/nfe/lib/document#lcnpj-invalid.pdf +6 -2
  74. data/spec/fixtures/nfe/lib/document#lcnpj-valid.pdf +6 -2
  75. data/spec/fixtures/nfe/lib/document#lie-blank-uf-invalid.pdf +6 -2
  76. data/spec/fixtures/nfe/lib/document#lie-blank.pdf +6 -2
  77. data/spec/fixtures/nfe/lib/document#lie-invalid.pdf +6 -2
  78. data/spec/fixtures/nfe/lib/document#lie-valid.pdf +6 -2
  79. data/spec/fixtures/nfe/lib/dup#render.pdf +8 -4
  80. data/spec/fixtures/nfe/lib/emit_header#render-second_page.pdf +9 -5
  81. data/spec/fixtures/nfe/lib/emit_header#render-with_logo.pdf +9 -5
  82. data/spec/fixtures/nfe/lib/emit_header#render-without_logo.pdf +7 -3
  83. data/spec/fixtures/nfe/lib/icmstot#render.pdf +7 -3
  84. data/spec/fixtures/nfe/lib/infadic#render-all_the_informations.pdf +8 -4
  85. data/spec/fixtures/nfe/lib/infadic#render-difal.pdf +7 -3
  86. data/spec/fixtures/nfe/lib/infadic#render-extra_volume.pdf +8 -4
  87. data/spec/fixtures/nfe/lib/infadic#render-with_complementary_information.pdf +7 -3
  88. data/spec/fixtures/nfe/lib/infadic#render-with_fisco_additional_information.pdf +7 -3
  89. data/spec/fixtures/nfe/lib/infadic#render-with_street_data.pdf +7 -3
  90. data/spec/fixtures/nfe/lib/infadic#render.pdf +7 -3
  91. data/spec/fixtures/nfe/lib/infadic_vol#render-extra_volume.pdf +7 -3
  92. data/spec/fixtures/nfe/lib/issqn#render-with_issqn.pdf +7 -3
  93. data/spec/fixtures/nfe/lib/issqn#render-with_one_issqn_value.pdf +7 -3
  94. data/spec/fixtures/nfe/lib/issqn#render-without_issqn.pdf +5 -1
  95. data/spec/fixtures/nfe/lib/ticket#render.pdf +6 -2
  96. data/spec/fixtures/nfe/lib/transp#render-modfrete_0.pdf +7 -3
  97. data/spec/fixtures/nfe/lib/transp#render-modfrete_1.pdf +7 -3
  98. data/spec/fixtures/nfe/lib/transp#render-modfrete_2.pdf +7 -3
  99. data/spec/fixtures/nfe/lib/transp#render-modfrete_3.pdf +7 -3
  100. data/spec/fixtures/nfe/lib/transp#render-modfrete_4.pdf +7 -3
  101. data/spec/fixtures/nfe/lib/transp#render-modfrete_9.pdf +7 -3
  102. data/spec/fixtures/nfe/lib/transp#render.pdf +7 -3
  103. data/spec/fixtures/nfe/lib/vol#render-blank-boxes.pdf +6 -2
  104. data/spec/fixtures/nfe/lib/vol#render.pdf +6 -2
  105. data/spec/fixtures/nfe/v2.00/custom_options.fixture.pdf +317 -313
  106. data/spec/fixtures/nfe/v2.00/nfe_simples_nacional.xml.fixture.pdf +315 -311
  107. data/spec/fixtures/nfe/v2.00/nfe_with_extra_volumes.xml.fixture.pdf +1297 -1289
  108. data/spec/fixtures/nfe/v2.00/nfe_with_fci.xml.fixture.pdf +165 -161
  109. data/spec/fixtures/nfe/v2.00/nfe_with_ns.xml.fixture.pdf +1297 -1289
  110. data/spec/fixtures/nfe/v2.00/nfe_without_ns.xml.fixture.pdf +314 -310
  111. data/spec/fixtures/nfe/v3.10/nfe_simples_nacional.xml.fixture.pdf +765 -761
  112. data/spec/fixtures/nfe/v3.10/with_footer.fixture.pdf +1222 -1214
  113. data/spec/fixtures/nfe/v3.10/with_issqn.fixture.pdf +1222 -1214
  114. data/spec/fixtures/nfe/v3.10/with_three_pages.fixture.pdf +4004 -3992
  115. data/spec/fixtures/nfe/v3.10/without_issqn.fixture.pdf +1522 -1514
  116. data/spec/lib/cce_lib/barcode_spec.rb +5 -5
  117. data/spec/lib/cce_lib/correction_spec.rb +5 -5
  118. data/spec/lib/cce_lib/document_spec.rb +23 -23
  119. data/spec/lib/cce_lib/footer_spec.rb +4 -4
  120. data/spec/lib/cce_lib/header_spec.rb +4 -4
  121. data/spec/lib/cce_lib/nfe_key_spec.rb +5 -5
  122. data/spec/lib/cce_lib/protocol_spec.rb +5 -5
  123. data/spec/lib/danfe_lib/cep_spec.rb +5 -5
  124. data/spec/lib/danfe_lib/cst_spec.rb +8 -8
  125. data/spec/lib/danfe_lib/dest_spec.rb +23 -23
  126. data/spec/lib/danfe_lib/det_body_spec.rb +26 -26
  127. data/spec/lib/danfe_lib/document_spec.rb +25 -25
  128. data/spec/lib/danfe_lib/dup_spec.rb +4 -4
  129. data/spec/lib/danfe_lib/emit_header_spec.rb +13 -13
  130. data/spec/lib/danfe_lib/helper_spec.rb +74 -74
  131. data/spec/lib/danfe_lib/icmstot_spec.rb +4 -4
  132. data/spec/lib/danfe_lib/infadic_spec.rb +6 -13
  133. data/spec/lib/danfe_lib/infadic_vol_spec.rb +1 -4
  134. data/spec/lib/danfe_lib/issqn_spec.rb +11 -11
  135. data/spec/lib/danfe_lib/logo_options_spec.rb +18 -18
  136. data/spec/lib/danfe_lib/options_spec.rb +7 -7
  137. data/spec/lib/danfe_lib/phone_spec.rb +10 -10
  138. data/spec/lib/danfe_lib/plate_spec.rb +9 -9
  139. data/spec/lib/danfe_lib/ticket_spec.rb +4 -4
  140. data/spec/lib/danfe_lib/transp_spec.rb +10 -10
  141. data/spec/lib/danfe_lib/vol_spec.rb +7 -7
  142. data/spec/lib/danfe_lib/xml_spec.rb +5 -5
  143. data/spec/lib/danfe_lib/xprod_spec.rb +48 -50
  144. data/spec/lib/uf_spec.rb +12 -12
  145. data/spec/support/have_same_content_of.rb +6 -6
  146. metadata +40 -10
@@ -13,24 +13,25 @@ module BrDanfe
13
13
  def render
14
14
  nVol = 0
15
15
 
16
- @xml.collect("xmlns", "vol") do |det|
16
+ @xml.collect('xmlns', 'vol') do |det|
17
17
  nVol += 1
18
18
  render_vol(det) if nVol < 2
19
19
  end
20
20
 
21
- render_blank_boxes if nVol == 0
21
+ render_blank_boxes if nVol.zero?
22
22
 
23
23
  nVol
24
24
  end
25
25
 
26
26
  private
27
+
27
28
  def render_vol(det)
28
- @pdf.ibox 0.85, 2.42, 0.75, @l1, I18n.t("danfe.vol.qVol"), det.css("qVol").text
29
- @pdf.ibox 0.85, 3.05, 3.17, @l1, I18n.t("danfe.vol.esp"), det.css("esp").text
30
- @pdf.ibox 0.85, 3.05, 6.22, @l1, I18n.t("danfe.vol.marca"), det.css("marca").text
31
- @pdf.ibox 0.85, 4.83, 9.27, @l1, I18n.t("danfe.vol.nVol")
32
- @pdf.inumeric 0.85, 3.43, 14.10, @l1, "vol.pesoB", det.css("pesoB").text, { decimals: 3 }
33
- @pdf.inumeric 0.85, 2.80, 17.53, @l1, "vol.pesoL", det.css("pesoL").text, { decimals: 3 }
29
+ @pdf.ibox 0.85, 2.42, 0.75, @l1, I18n.t('danfe.vol.qVol'), det.css('qVol').text
30
+ @pdf.ibox 0.85, 3.05, 3.17, @l1, I18n.t('danfe.vol.esp'), det.css('esp').text
31
+ @pdf.ibox 0.85, 3.05, 6.22, @l1, I18n.t('danfe.vol.marca'), det.css('marca').text
32
+ @pdf.ibox 0.85, 4.83, 9.27, @l1, I18n.t('danfe.vol.nVol')
33
+ @pdf.inumeric 0.85, 3.43, 14.10, @l1, 'vol.pesoB', det.css('pesoB').text, { decimals: 3 }
34
+ @pdf.inumeric 0.85, 2.80, 17.53, @l1, 'vol.pesoL', det.css('pesoL').text, { decimals: 3 }
34
35
  end
35
36
 
36
37
  def render_blank_boxes
@@ -11,18 +11,18 @@ module BrDanfe
11
11
 
12
12
  def [](xpath)
13
13
  node = @xml.css(xpath)
14
- return node ? node.text : ""
14
+ node ? node.text : ''
15
15
  end
16
16
 
17
- def collect(ns, tag, &block)
17
+ def collect(ns, tag)
18
18
  result = []
19
- # Tenta primeiro com uso de namespace
19
+ # With namespace
20
20
  begin
21
21
  @xml.xpath("//#{ns}:#{tag}").each do |det|
22
22
  result << yield(det)
23
23
  end
24
- rescue
25
- # Caso dê erro, tenta sem
24
+ rescue StandardError
25
+ # Without namespace
26
26
  @xml.xpath("//#{tag}").each do |det|
27
27
  result << yield(det)
28
28
  end
@@ -31,7 +31,7 @@ module BrDanfe
31
31
  end
32
32
 
33
33
  def version_is_310_or_newer?
34
- @xml.css("infNFe").attr("versao").to_s.to_f >= 3.10
34
+ @xml.css('infNFe').attr('versao').to_s.to_f >= 3.10
35
35
  end
36
36
  end
37
37
  end
@@ -6,9 +6,9 @@ module BrDanfe
6
6
  end
7
7
 
8
8
  def render
9
- xprod = "#{@det.css('prod/xProd').text}"
9
+ xprod = @det.css('prod/xProd').text.to_s
10
10
 
11
- xprod += infAdProd if has_infAdProd?
11
+ xprod += infAdProd if infAdProd?
12
12
  xprod += fci if fci?
13
13
  xprod += icms_st if icms_st?
14
14
  xprod += fcp if fcp?
@@ -24,13 +24,13 @@ module BrDanfe
24
24
  "\n#{@det.css('infAdProd').text}"
25
25
  end
26
26
 
27
- def has_infAdProd?
28
- !@det.css("infAdProd").text.empty?
27
+ def infAdProd?
28
+ !@det.css('infAdProd').text.empty?
29
29
  end
30
30
 
31
31
  def fci
32
32
  "\n#{I18n.t('danfe.det.prod.xProdFCI',
33
- nFCI: @det.css('prod/nFCI').text)}"
33
+ nFCI: @det.css('prod/nFCI').text)}"
34
34
  end
35
35
 
36
36
  def fci?
@@ -39,18 +39,18 @@ module BrDanfe
39
39
 
40
40
  def icms_st
41
41
  "\n#{I18n.t('danfe.det.prod.xProdST',
42
- pMVAST: Helper.numerify(@det.css('ICMS/*/pMVAST').text),
43
- pICMSST: Helper.numerify(@det.css('ICMS/*/pICMSST').text),
44
- vBCST: Helper.numerify(@det.css('ICMS/*/vBCST').text),
45
- vICMSST: Helper.numerify(@det.css('ICMS/*/vICMSST').text))}"
42
+ pMVAST: Helper.numerify(@det.css('ICMS/*/pMVAST').text),
43
+ pICMSST: Helper.numerify(@det.css('ICMS/*/pICMSST').text),
44
+ vBCST: Helper.numerify(@det.css('ICMS/*/vBCST').text),
45
+ vICMSST: Helper.numerify(@det.css('ICMS/*/vICMSST').text))}"
46
46
  end
47
47
 
48
48
  def icms_st?
49
- @det.css('ICMS/*/vBCST').text.to_i > 0
49
+ @det.css('ICMS/*/vBCST').text.to_i.positive?
50
50
  end
51
51
 
52
52
  def fcp?
53
- @det.css('ICMS/*/vFCP').text.to_i > 0
53
+ @det.css('ICMS/*/vFCP').text.to_i.positive?
54
54
  end
55
55
 
56
56
  def fcp
@@ -63,26 +63,26 @@ module BrDanfe
63
63
 
64
64
  def fcp_for_icms00
65
65
  "\n#{I18n.t('danfe.det.prod.xProdFCPICMS00',
66
- vFCP: Helper.numerify(@det.css('ICMS00/vFCP').text),
67
- pFCP: Helper.numerify(@det.css('ICMS00/pFCP').text))}"
66
+ vFCP: Helper.numerify(@det.css('ICMS00/vFCP').text),
67
+ pFCP: Helper.numerify(@det.css('ICMS00/pFCP').text))}"
68
68
  end
69
69
 
70
70
  def fcp_complete
71
71
  "\n#{I18n.t('danfe.det.prod.xProdFCP',
72
- vBCFCP: Helper.numerify(@det.css('ICMS/*/vBCFCP').text),
73
- vFCP: Helper.numerify(@det.css('ICMS/*/vFCP').text),
74
- pFCP: Helper.numerify(@det.css('ICMS/*/pFCP').text))}"
72
+ vBCFCP: Helper.numerify(@det.css('ICMS/*/vBCFCP').text),
73
+ vFCP: Helper.numerify(@det.css('ICMS/*/vFCP').text),
74
+ pFCP: Helper.numerify(@det.css('ICMS/*/pFCP').text))}"
75
75
  end
76
76
 
77
77
  def fcp_st?
78
- @det.css('ICMS/*/vFCPST').text.to_i > 0
78
+ @det.css('ICMS/*/vFCPST').text.to_i.positive?
79
79
  end
80
80
 
81
81
  def fcp_st
82
82
  "\n#{I18n.t('danfe.det.prod.xProdFCPST',
83
- vBCFCPST: Helper.numerify(@det.css('ICMS/*/vBCFCPST').text),
84
- pFCPST: Helper.numerify(@det.css('ICMS/*/pFCPST').text),
85
- vFCPST: Helper.numerify(@det.css('ICMS/*/vFCPST').text))}"
83
+ vBCFCPST: Helper.numerify(@det.css('ICMS/*/vBCFCPST').text),
84
+ pFCPST: Helper.numerify(@det.css('ICMS/*/pFCPST').text),
85
+ vFCPST: Helper.numerify(@det.css('ICMS/*/vFCPST').text))}"
86
86
  end
87
87
 
88
88
  def add_icms_st_ret_to_product
@@ -90,9 +90,8 @@ module BrDanfe
90
90
  end
91
91
 
92
92
  def icms_st_ret?
93
- @det.css('ICMS/*/vBCSTRet').text.to_i > 0 ||
94
- @det.css('ICMS/*/vICMSSTRet').text.to_i > 0 ||
95
- @det.css('ICMS/*/pST').text.to_i > 0
93
+ @det.css('ICMS/*/vBCSTRet').text.to_i.positive? || @det.css('ICMS/*/vICMSSTRet').text.to_i.positive? ||
94
+ @det.css('ICMS/*/pST').text.to_i.positive?
96
95
  end
97
96
 
98
97
  def icms_st_ret
data/lib/br_danfe/uf.rb CHANGED
@@ -5,10 +5,7 @@ module BrDanfe
5
5
  end
6
6
 
7
7
  def self.all
8
- %i[
9
- AC AL AP AM BA CE DF ES GO MA MT MS MG PA PB PR PE PI RJ RN RS RO RR SC
10
- SP SE TO
11
- ]
8
+ [:AC, :AL, :AP, :AM, :BA, :CE, :DF, :ES, :GO, :MA, :MT, :MS, :MG, :PA, :PB, :PR, :PE, :PI, :RJ, :RN, :RS, :RO, :RR, :SC, :SP, :SE, :TO]
12
9
  end
13
10
  private_class_method :all
14
11
  end
@@ -1,3 +1,3 @@
1
1
  module BrDanfe
2
- VERSION = '0.11.1'.freeze
2
+ VERSION = '0.11.2'.freeze
3
3
  end
@@ -1,23 +1,23 @@
1
- require "spec_helper"
1
+ require 'spec_helper'
2
2
 
3
3
  describe BrDanfe::Cce do
4
- let(:base_dir) { "./spec/fixtures/cce/v1.00/"}
4
+ let(:base_dir) { './spec/fixtures/cce/v1.00/' }
5
5
  let(:output_pdf) { "#{base_dir}output.pdf" }
6
6
  let(:xml) { File.read("#{base_dir}cce.xml") }
7
7
  subject { described_class.new(xml) }
8
8
 
9
- describe "#render_pdf" do
10
- it "renders the correction letter" do
9
+ describe '#render_pdf' do
10
+ it 'renders the correction letter' do
11
11
  expected = IO.binread("#{base_dir}cce.fixture.pdf")
12
12
 
13
13
  expect(subject.render_pdf).to eq expected
14
14
  end
15
15
  end
16
16
 
17
- describe "#save_pdf" do
17
+ describe '#save_pdf' do
18
18
  before { File.delete(output_pdf) if File.exist?(output_pdf) }
19
19
 
20
- it "saves the pdf" do
20
+ it 'saves the pdf' do
21
21
  expect(File.exist?(output_pdf)).to be_falsey
22
22
 
23
23
  subject.save_pdf output_pdf
@@ -1,12 +1,12 @@
1
- require "spec_helper"
1
+ require 'spec_helper'
2
2
 
3
3
  describe BrDanfe::Danfe do
4
4
  let(:output_pdf) { "#{base_dir}output.pdf" }
5
5
 
6
- describe "#render_pdf" do
7
- let(:base_dir) { "./spec/fixtures/nfe/v3.10/"}
6
+ describe '#render_pdf' do
7
+ let(:base_dir) { './spec/fixtures/nfe/v3.10/' }
8
8
 
9
- it "renders a Simples Nacional NF-e using CSOSN" do
9
+ it 'renders a Simples Nacional NF-e using CSOSN' do
10
10
  danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_simples_nacional.xml"))
11
11
 
12
12
  expected = IO.binread("#{base_dir}nfe_simples_nacional.xml.fixture.pdf")
@@ -15,17 +15,17 @@ describe BrDanfe::Danfe do
15
15
  end
16
16
  end
17
17
 
18
- describe "#save_pdf" do
19
- context "when danfe has custom options" do
20
- let(:base_dir) { "./spec/fixtures/nfe/v2.00/"}
18
+ describe '#save_pdf' do
19
+ context 'when danfe has custom options' do
20
+ let(:base_dir) { './spec/fixtures/nfe/v2.00/' }
21
21
 
22
22
  before { File.delete(output_pdf) if File.exist?(output_pdf) }
23
23
 
24
- it "render a NF-e with customized options" do
24
+ it 'render a NF-e with customized options' do
25
25
  expect(File.exist?(output_pdf)).to be_falsey
26
26
 
27
27
  danfe = BrDanfe::Danfe.new(File.read("#{base_dir}custom_options.fixture.xml"))
28
- danfe.options.logo = "spec/fixtures/logo.png"
28
+ danfe.options.logo = 'spec/fixtures/logo.png'
29
29
  danfe.options.logo_dimensions = { width: 100, height: 100 }
30
30
 
31
31
  danfe.save_pdf output_pdf
@@ -35,11 +35,11 @@ describe BrDanfe::Danfe do
35
35
  end
36
36
 
37
37
  context "when xml's version is v2.00" do
38
- let(:base_dir) { "./spec/fixtures/nfe/v2.00/"}
38
+ let(:base_dir) { './spec/fixtures/nfe/v2.00/' }
39
39
 
40
40
  before { File.delete(output_pdf) if File.exist?(output_pdf) }
41
41
 
42
- it "renders a basic NF-e with namespace" do
42
+ it 'renders a basic NF-e with namespace' do
43
43
  expect(File.exist?(output_pdf)).to be_falsey
44
44
 
45
45
  danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_with_ns.xml"))
@@ -48,7 +48,7 @@ describe BrDanfe::Danfe do
48
48
  expect("#{base_dir}nfe_with_ns.xml.fixture.pdf").to have_same_content_of file: output_pdf
49
49
  end
50
50
 
51
- it "renders another basic NF-e without namespace" do
51
+ it 'renders another basic NF-e without namespace' do
52
52
  expect(File.exist?(output_pdf)).to be_falsey
53
53
 
54
54
  danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_without_ns.xml"))
@@ -57,7 +57,7 @@ describe BrDanfe::Danfe do
57
57
  expect("#{base_dir}nfe_without_ns.xml.fixture.pdf").to have_same_content_of file: output_pdf
58
58
  end
59
59
 
60
- it "renders a NF-e having FCI in its items" do
60
+ it 'renders a NF-e having FCI in its items' do
61
61
  expect(File.exist?(output_pdf)).to be_falsey
62
62
 
63
63
  danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_with_fci.xml"))
@@ -66,7 +66,7 @@ describe BrDanfe::Danfe do
66
66
  expect("#{base_dir}nfe_with_fci.xml.fixture.pdf").to have_same_content_of file: output_pdf
67
67
  end
68
68
 
69
- it "renders a Simples Nacional NF-e using CSOSN" do
69
+ it 'renders a Simples Nacional NF-e using CSOSN' do
70
70
  expect(File.exist?(output_pdf)).to be_falsey
71
71
 
72
72
  danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_simples_nacional.xml"))
@@ -75,7 +75,7 @@ describe BrDanfe::Danfe do
75
75
  expect("#{base_dir}nfe_simples_nacional.xml.fixture.pdf").to have_same_content_of file: output_pdf
76
76
  end
77
77
 
78
- it "renders a NF-e with extra volumes" do
78
+ it 'renders a NF-e with extra volumes' do
79
79
  expect(File.exist?(output_pdf)).to be_falsey
80
80
 
81
81
  danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_with_extra_volumes.xml"))
@@ -86,11 +86,11 @@ describe BrDanfe::Danfe do
86
86
  end
87
87
 
88
88
  context "when xml's version is v3.10" do
89
- let(:base_dir) { "./spec/fixtures/nfe/v3.10/"}
89
+ let(:base_dir) { './spec/fixtures/nfe/v3.10/' }
90
90
 
91
91
  before { File.delete(output_pdf) if File.exist?(output_pdf) }
92
92
 
93
- it "renders a Simples Nacional NF-e using CSOSN" do
93
+ it 'renders a Simples Nacional NF-e using CSOSN' do
94
94
  expect(File.exist?(output_pdf)).to be_falsey
95
95
 
96
96
  danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_simples_nacional.xml"))
@@ -99,8 +99,8 @@ describe BrDanfe::Danfe do
99
99
  expect("#{base_dir}nfe_simples_nacional.xml.fixture.pdf").to have_same_content_of file: output_pdf
100
100
  end
101
101
 
102
- context "when there are more than one page" do
103
- it "renders xml to the pdf" do
102
+ context 'when there are more than one page' do
103
+ it 'renders xml to the pdf' do
104
104
  expect(File.exist?(output_pdf)).to be_falsey
105
105
 
106
106
  danfe = BrDanfe::Danfe.new(File.read("#{base_dir}with_three_pages.xml"))
@@ -110,8 +110,8 @@ describe BrDanfe::Danfe do
110
110
  end
111
111
  end
112
112
 
113
- context "when there is ISSQN" do
114
- it "renders xml to the pdf" do
113
+ context 'when there is ISSQN' do
114
+ it 'renders xml to the pdf' do
115
115
  expect(File.exist?(output_pdf)).to be_falsey
116
116
 
117
117
  danfe = BrDanfe::Danfe.new(File.read("#{base_dir}with_issqn.xml"))
@@ -122,7 +122,7 @@ describe BrDanfe::Danfe do
122
122
  end
123
123
 
124
124
  context "when there isn't ISSQN" do
125
- it "renders xml to the pdf" do
125
+ it 'renders xml to the pdf' do
126
126
  expect(File.exist?(output_pdf)).to be_falsey
127
127
 
128
128
  danfe = BrDanfe::Danfe.new(File.read("#{base_dir}without_issqn.xml"))
@@ -132,11 +132,11 @@ describe BrDanfe::Danfe do
132
132
  end
133
133
  end
134
134
 
135
- context "when there is footer information" do
136
- it "renders xml to the pdf" do
135
+ context 'when there is footer information' do
136
+ it 'renders xml to the pdf' do
137
137
  expect(File.exist?(output_pdf)).to be_falsey
138
138
 
139
- footer = "Gerado através do Teste"
139
+ footer = 'Gerado através do Teste'
140
140
  danfe = BrDanfe::Danfe.new(File.read("#{base_dir}with_footer.xml"))
141
141
  danfe.save_pdf output_pdf, footer
142
142
 
@@ -488,6 +488,10 @@ endobj
488
488
  << /Type /Page
489
489
  /Parent 3 0 R
490
490
  /MediaBox [0 0 595.28 841.89]
491
+ /CropBox [0 0 595.28 841.89]
492
+ /BleedBox [0 0 595.28 841.89]
493
+ /TrimBox [0 0 595.28 841.89]
494
+ /ArtBox [0 0 595.28 841.89]
491
495
  /Contents 4 0 R
492
496
  /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
493
497
  /Font << >>
@@ -508,5 +512,5 @@ trailer
508
512
  /Info 1 0 R
509
513
  >>
510
514
  startxref
511
- 6246
515
+ 6362
512
516
  %%EOF
@@ -67,6 +67,10 @@ endobj
67
67
  << /Type /Page
68
68
  /Parent 3 0 R
69
69
  /MediaBox [0 0 595.28 841.89]
70
+ /CropBox [0 0 595.28 841.89]
71
+ /BleedBox [0 0 595.28 841.89]
72
+ /TrimBox [0 0 595.28 841.89]
73
+ /ArtBox [0 0 595.28 841.89]
70
74
  /Contents 4 0 R
71
75
  /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
72
76
  /Font << /F1.0 6 0 R
@@ -89,12 +93,12 @@ xref
89
93
  0000000158 00000 n
90
94
  0000000215 00000 n
91
95
  0000001556 00000 n
92
- 0000001736 00000 n
96
+ 0000001852 00000 n
93
97
  trailer
94
98
  << /Size 7
95
99
  /Root 2 0 R
96
100
  /Info 1 0 R
97
101
  >>
98
102
  startxref
99
- 1835
103
+ 1951
100
104
  %%EOF
@@ -32,6 +32,10 @@ endobj
32
32
  << /Type /Page
33
33
  /Parent 3 0 R
34
34
  /MediaBox [0 0 595.28 841.89]
35
+ /CropBox [0 0 595.28 841.89]
36
+ /BleedBox [0 0 595.28 841.89]
37
+ /TrimBox [0 0 595.28 841.89]
38
+ /ArtBox [0 0 595.28 841.89]
35
39
  /Contents 4 0 R
36
40
  /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
37
41
  /Font << >>
@@ -52,5 +56,5 @@ trailer
52
56
  /Info 1 0 R
53
57
  >>
54
58
  startxref
55
- 472
59
+ 588
56
60
  %%EOF
@@ -39,6 +39,10 @@ endobj
39
39
  << /Type /Page
40
40
  /Parent 3 0 R
41
41
  /MediaBox [0 0 595.28 841.89]
42
+ /CropBox [0 0 595.28 841.89]
43
+ /BleedBox [0 0 595.28 841.89]
44
+ /TrimBox [0 0 595.28 841.89]
45
+ /ArtBox [0 0 595.28 841.89]
42
46
  /Contents 4 0 R
43
47
  /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
44
48
  /Font << /F1.0 6 0 R
@@ -61,12 +65,12 @@ xref
61
65
  0000000158 00000 n
62
66
  0000000215 00000 n
63
67
  0000000377 00000 n
64
- 0000000557 00000 n
68
+ 0000000673 00000 n
65
69
  trailer
66
70
  << /Size 7
67
71
  /Root 2 0 R
68
72
  /Info 1 0 R
69
73
  >>
70
74
  startxref
71
- 656
75
+ 772
72
76
  %%EOF