nfe 0.0.0 → 0.0.1a

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 (94) hide show
  1. data/.gitignore +2 -0
  2. data/.rspec +3 -0
  3. data/Gemfile +5 -0
  4. data/lib/nfe.rb +1 -1
  5. data/lib/nfe/template.rb +44 -0
  6. data/lib/nfe/template/cobr.mustache +4 -0
  7. data/lib/nfe/template/cobr.rb +15 -0
  8. data/lib/nfe/template/cofins.mustache +3 -0
  9. data/lib/nfe/template/cofins.rb +11 -0
  10. data/lib/nfe/template/cofins_aliq.mustache +6 -0
  11. data/lib/nfe/template/cofins_aliq.rb +20 -0
  12. data/lib/nfe/template/dest.mustache +7 -0
  13. data/lib/nfe/template/dest.rb +12 -0
  14. data/lib/nfe/template/det.mustache +5 -0
  15. data/lib/nfe/template/det.rb +16 -0
  16. data/lib/nfe/template/dup.mustache +5 -0
  17. data/lib/nfe/template/dup.rb +12 -0
  18. data/lib/nfe/template/emit.mustache +10 -0
  19. data/lib/nfe/template/emit.rb +12 -0
  20. data/lib/nfe/template/ender_dest.mustache +12 -0
  21. data/lib/nfe/template/ender_dest.rb +7 -0
  22. data/lib/nfe/template/ender_emit.mustache +13 -0
  23. data/lib/nfe/template/ender_emit.rb +7 -0
  24. data/lib/nfe/template/fat.mustache +5 -0
  25. data/lib/nfe/template/fat.rb +6 -0
  26. data/lib/nfe/template/icms.mustache +3 -0
  27. data/lib/nfe/template/icms.rb +11 -0
  28. data/lib/nfe/template/icms00.mustache +8 -0
  29. data/lib/nfe/template/icms00.rb +6 -0
  30. data/lib/nfe/template/icms_tot.mustache +16 -0
  31. data/lib/nfe/template/icms_tot.rb +40 -0
  32. data/lib/nfe/template/ide.mustache +19 -0
  33. data/lib/nfe/template/ide.rb +7 -0
  34. data/lib/nfe/template/imposto.mustache +6 -0
  35. data/lib/nfe/template/imposto.rb +23 -0
  36. data/lib/nfe/template/inf_adic.mustache +4 -0
  37. data/lib/nfe/template/inf_adic.rb +12 -0
  38. data/lib/nfe/template/inf_nfe.mustache +10 -0
  39. data/lib/nfe/template/inf_nfe.rb +40 -0
  40. data/lib/nfe/template/ipi.mustache +4 -0
  41. data/lib/nfe/template/ipi.rb +11 -0
  42. data/lib/nfe/template/ipint.mustache +3 -0
  43. data/lib/nfe/template/ipint.rb +6 -0
  44. data/lib/nfe/template/obs_cont.mustache +3 -0
  45. data/lib/nfe/template/obs_cont.rb +7 -0
  46. data/lib/nfe/template/pis.mustache +3 -0
  47. data/lib/nfe/template/pis.rb +11 -0
  48. data/lib/nfe/template/pis_aliq.mustache +6 -0
  49. data/lib/nfe/template/pis_aliq.rb +20 -0
  50. data/lib/nfe/template/prod.mustache +18 -0
  51. data/lib/nfe/template/prod.rb +7 -0
  52. data/lib/nfe/template/root.mustache +4 -0
  53. data/lib/nfe/template/root.rb +11 -0
  54. data/lib/nfe/template/total.mustache +3 -0
  55. data/lib/nfe/template/total.rb +11 -0
  56. data/lib/nfe/template/transp.mustache +5 -0
  57. data/lib/nfe/template/transp.rb +16 -0
  58. data/lib/nfe/template/transporta.mustache +3 -0
  59. data/lib/nfe/template/transporta.rb +7 -0
  60. data/lib/nfe/template/vol.mustache +6 -0
  61. data/lib/nfe/template/vol.rb +16 -0
  62. data/lib/nfe/version.rb +1 -1
  63. data/nfe.gemspec +5 -0
  64. data/spec/fixtures/nfe.xml +167 -0
  65. data/spec/nfe/template/cobr_spec.rb +13 -0
  66. data/spec/nfe/template/cofins_aliq_spec.rb +11 -0
  67. data/spec/nfe/template/cofins_spec.rb +11 -0
  68. data/spec/nfe/template/dest_spec.rb +13 -0
  69. data/spec/nfe/template/det_spec.rb +13 -0
  70. data/spec/nfe/template/dup_spec.rb +13 -0
  71. data/spec/nfe/template/emit_spec.rb +13 -0
  72. data/spec/nfe/template/ender_dest_spec.rb +13 -0
  73. data/spec/nfe/template/ender_emit_spec.rb +13 -0
  74. data/spec/nfe/template/fat_spec.rb +13 -0
  75. data/spec/nfe/template/icms00_spec.rb +13 -0
  76. data/spec/nfe/template/icms_spec.rb +13 -0
  77. data/spec/nfe/template/icms_tot_spec.rb +13 -0
  78. data/spec/nfe/template/ide_spec.rb +13 -0
  79. data/spec/nfe/template/imposto_spec.rb +13 -0
  80. data/spec/nfe/template/inf_adic_spec.rb +13 -0
  81. data/spec/nfe/template/inf_nfe_spec.rb +13 -0
  82. data/spec/nfe/template/ipi_spec.rb +13 -0
  83. data/spec/nfe/template/ipint_spec.rb +13 -0
  84. data/spec/nfe/template/obs_cont_spec.rb +13 -0
  85. data/spec/nfe/template/pis_aliq_spec.rb +13 -0
  86. data/spec/nfe/template/pis_spec.rb +13 -0
  87. data/spec/nfe/template/prod_spec.rb +13 -0
  88. data/spec/nfe/template/root_spec.rb +13 -0
  89. data/spec/nfe/template/total_spec.rb +13 -0
  90. data/spec/nfe/template/transp_spec.rb +13 -0
  91. data/spec/nfe/template/transporta_spec.rb +13 -0
  92. data/spec/nfe/template/vol_spec.rb +13 -0
  93. data/spec/spec_helper.rb +306 -0
  94. metadata +158 -7
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::Cobr do
4
+ let(:view) { cobr }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it do
10
+ xml("cobr", subject).should == xml("cobr")
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,11 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::CofinsAliq do
4
+ let(:view) { cofins_aliq }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it { xml("COFINSAliq", subject).should == xml("COFINSAliq") }
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::Cofins do
4
+ let(:view) { cofins }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it { xml("COFINS", subject).should == xml("COFINS") }
10
+ end
11
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::Dest do
4
+ let(:view) { dest }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it do
10
+ xml("dest", subject).should == xml("dest")
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::Det do
4
+ let(:view) { det }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it do
10
+ xml("det", subject).should == xml("det")
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::Dup do
4
+ let(:view) { dup }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it do
10
+ xml("dup", subject).should == xml("dup")
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::Emit do
4
+ let(:view) { emit }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it do
10
+ xml("emit", subject).should == xml("emit")
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::EnderDest do
4
+ let(:view) { described_class.new }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it do
10
+ xml("enderDest", subject).should == xml("enderDest")
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::EnderEmit do
4
+ let(:view) { ender_emit }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it do
10
+ xml("enderEmit", subject).should == xml("enderEmit")
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::Fat do
4
+ let(:view) { described_class.new }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it do
10
+ xml("fat", subject).should == xml("fat")
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::Icms00 do
4
+ let(:view) { described_class.new }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it do
10
+ xml("ICMS00", subject).should == xml("ICMS00")
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::Icms do
4
+ let(:view) { icms }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it do
10
+ xml("ICMS", subject).should == xml("ICMS")
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::IcmsTot do
4
+ let(:view) { icms_tot }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it do
10
+ xml("ICMSTot", subject).should == xml("ICMSTot")
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::Ide do
4
+ let(:view) { ide }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it do
10
+ xml("ide", subject).should == xml("ide")
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::Imposto do
4
+ let(:view) { imposto }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it do
10
+ xml("imposto", subject).should == xml("imposto")
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::InfAdic do
4
+ let(:view) { inf_adic }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it do
10
+ xml("infAdic", subject).should == xml("infAdic")
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::InfNfe do
4
+ let(:view) { inf_nfe }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it do
10
+ xml("infNFe", subject).should == xml("infNFe")
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::Ipi do
4
+ let(:view) { ipi }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it do
10
+ xml("IPI", subject).should == xml("IPI")
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::Ipint do
4
+ let(:view) { described_class.new }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it do
10
+ xml("IPINT", subject).should == xml("IPINT")
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::ObsCont do
4
+ let(:view) { obs_cont }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it do
10
+ xml("obsCont", subject).should == xml("obsCont")
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::PisAliq do
4
+ let(:view) { pis_aliq }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it do
10
+ xml("PISAliq", subject).should == xml("PISAliq")
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::Pis do
4
+ let(:view) { pis }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it do
10
+ xml("PIS", subject).should == xml("PIS")
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::Prod do
4
+ let(:view) { described_class.new }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it do
10
+ xml("prod", subject).should == xml("prod")
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::Root do
4
+ let(:view) { root }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it do
10
+ xml(false, subject).should == xml(false)
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::Total do
4
+ let(:view) { total }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it do
10
+ xml("total", subject).should == xml("total")
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::Transp do
4
+ let(:view) { transp }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it do
10
+ xml("transp", subject).should == xml("transp")
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::Transporta do
4
+ let(:view) { transporta }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it do
10
+ xml("transporta", subject).should == xml("transporta")
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe Nfe::Template::Vol do
4
+ let(:view) { vol }
5
+
6
+ context "rendering" do
7
+ subject { view.render }
8
+
9
+ it do
10
+ xml("vol", subject).should == xml("vol")
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,306 @@
1
+ # This file was generated by the `rspec --init` command. Conventionally, all
2
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
3
+ # Require this file using `require "spec_helper.rb"` to ensure that it is only
4
+ # loaded once.
5
+ #
6
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
7
+ require "bundler/setup"
8
+ require "nfe"
9
+ require "nokogiri"
10
+ require "active_support/core_ext/string"
11
+
12
+ module NfeXmlComparator
13
+ def xml(tag, str = nil)
14
+ str ||= File.read(File.expand_path("../fixtures/nfe.xml", __FILE__))
15
+ doc = Nokogiri::XML(str) do |config|
16
+ config.noblanks
17
+ end
18
+ return doc.at(tag).to_xml if tag
19
+ doc.to_xml
20
+ end
21
+ end
22
+
23
+ module Nfe::Template
24
+ module TestHelpers
25
+ def icms00
26
+ new_view(:icms00)
27
+ end
28
+
29
+ def icms
30
+ new_view(:icms) do |v|
31
+ v.icms00 = icms00
32
+ end
33
+ end
34
+
35
+ def ipi
36
+ new_view(:ipi) do |v|
37
+ v.ipint = ipint
38
+ end
39
+ end
40
+
41
+ def ipint
42
+ new_view(:ipint)
43
+ end
44
+
45
+ def pis
46
+ new_view(:pis) do |v|
47
+ v.pis_aliq = pis_aliq
48
+ end
49
+ end
50
+
51
+ def pis_aliq
52
+ new_view(:pis_aliq) do |v|
53
+ v.cst = "01"
54
+ v.v_bc = 883.12
55
+ v.p_pis = 1.65
56
+ v.v_pis = 14.57
57
+ end
58
+ end
59
+
60
+ def dest
61
+ new_view(:dest) do |v|
62
+ v.cnpj = "02536490000170"
63
+ v.x_nome = "WARDY CONFECCOES LTDA"
64
+ v.ie = "115399484115"
65
+ v.email = "wardy@wardy.com.br"
66
+ v.ender_dest = ender_dest
67
+ end
68
+ end
69
+
70
+ def ender_dest
71
+ new_view(:ender_dest) do |v|
72
+ v.x_lgr = "RUA PARAIBA"
73
+ v.nro = "73"
74
+ v.x_bairro = "BRAS"
75
+ v.c_mun = "3550308"
76
+ v.x_mun = "Sao Paulo"
77
+ v.uf = "SP"
78
+ v.cep = "03013030"
79
+ v.c_pais = "1058"
80
+ v.x_pais = "BRASIL"
81
+ v.fone = "1122910590"
82
+ end
83
+ end
84
+
85
+ def det
86
+ new_view(:det) do |v|
87
+ v.inf_ad_prod = "BLUE HEAVEN F01946 LOTE XXXX"
88
+ v.prod = prod
89
+ v.imposto = imposto
90
+ end
91
+ end
92
+
93
+ def imposto
94
+ new_view(:imposto) do |v|
95
+ v.icms = icms
96
+ v.ipi = ipi
97
+ v.pis = pis
98
+ v.cofins = cofins
99
+ end
100
+ end
101
+
102
+ def cofins
103
+ new_view(:cofins) do |v|
104
+ v.cofins_aliq = cofins_aliq
105
+ end
106
+ end
107
+
108
+ def cofins_aliq
109
+ new_view(:cofins_aliq) do |v|
110
+ v.cst = "01"
111
+ v.v_bc = 883.12
112
+ v.p_cofins = 7.6
113
+ v.v_cofins = 67.11
114
+ end
115
+ end
116
+
117
+ def cobr
118
+ new_view(:cobr) do |v|
119
+ v.fat = fat
120
+ v.dup = dup
121
+ end
122
+ end
123
+
124
+ def dup
125
+ new_view(:dup) do |v|
126
+ v.n_dup = "0001-1"
127
+ v.d_venc = "2010-12-20"
128
+ v.v_dup = 883.12
129
+ end
130
+ end
131
+
132
+ def inf_nfe
133
+ new_view(:inf_nfe) do |v|
134
+ v.id = "NFe35101158716523000119550010000000011003000000"
135
+ v.ide = ide
136
+ v.emit = emit
137
+ v.dest = dest
138
+ v.det = det
139
+ v.total = total
140
+ v.transp = transp
141
+ v.cobr = cobr
142
+ v.inf_adic = inf_adic
143
+ end
144
+ end
145
+
146
+ def fat
147
+ new_view(:fat)
148
+ end
149
+
150
+ def prod
151
+ new_view(:prod) do |v|
152
+ v.c_prod = "2470BCB90"
153
+ v.c_ean = nil
154
+ v.x_prod = "DELFOS SND TINTO COM AMACIANTE SO TECIDO 1,80M"
155
+ v.n_cm = 60063200
156
+ v.c_fop = 5122
157
+ v.u_com = "KG"
158
+ v.q_com = 46.4800
159
+ v.v_uncom = 19.0000000000
160
+ v.v_prod = 833.12
161
+ v.c_eantrib = nil
162
+ v.u_trib = "KG"
163
+ v.q_trib = 46.4800
164
+ v.v_untrib = 19.0000000000
165
+ v.i_ndtot = 1
166
+ v.x_ped = 060110-1030
167
+ v.n_itemped = 1
168
+ end
169
+ end
170
+
171
+ def root
172
+ new_view(:root) do |v|
173
+ v.inf_nfe = inf_nfe
174
+ end
175
+ end
176
+
177
+ def emit
178
+ new_view(:emit) do |v|
179
+ v.cnpj = "58716523000119"
180
+ v.x_nome = "FIMATEC TEXTIL LTDA"
181
+ v.x_fant = "FIMATEC"
182
+ v.ender_emit = ender_emit
183
+ v.ie = "112006603110"
184
+ v.im = "95095870"
185
+ v.cnae = "0131380"
186
+ v.crt = 3
187
+ end
188
+ end
189
+
190
+ def ender_emit
191
+ new_view(:ender_emit) do |v|
192
+ v.x_lgr = "RUA DOS PATRIOTAS"
193
+ v.nro = 897
194
+ v.x_cpl = "ARMAZEM 42"
195
+ v.x_bairro = "IPIRANGA"
196
+ v.c_mun = 3550308
197
+ v.x_mun = "Sao Paulo"
198
+ v.uf = "SP"
199
+ v.cep = "04207040"
200
+ v.c_pais = 1058
201
+ v.x_pais = "BRASIL"
202
+ v.fone = "1120677300"
203
+ end
204
+ end
205
+
206
+ def ide
207
+ new_view(:ide) do |v|
208
+ v.c_uf = 35
209
+ v.c_nf = "00300000"
210
+ v.nat_op = "VENDA"
211
+ v.ind_pag = 0
212
+ v.mod = 55
213
+ v.serie = 1
214
+ v.n_nf = 1
215
+ v.d_emi = "2010-11-02"
216
+ v.tp_nf = 1
217
+ v.c_mun_fg = 3550308
218
+ v.tp_imp = 1
219
+ v.tp_emis = 1
220
+ v.c_dv = 0
221
+ v.tp_amb = 2
222
+ v.fin_nfe = 1
223
+ v.proc_emi = 3
224
+ v.ver_proc = "2.0.3"
225
+ end
226
+ end
227
+
228
+ def total
229
+ new_view(:total) do |v|
230
+ v.icms_tot = icms_tot
231
+ end
232
+ end
233
+
234
+ def icms_tot
235
+ new_view(:icms_tot) do |v|
236
+ v.v_bc = 588.78
237
+ v.v_icms = 105.98
238
+ v.v_bcst = 0.00
239
+ v.v_st = 0.00
240
+ v.v_prod = 833.12
241
+ v.v_frete = 0.00
242
+ v.v_seg = 0.00
243
+ v.v_desc = 0.00
244
+ v.v_ii = 0.00
245
+ v.v_ipi = 0.00
246
+ v.v_pis = 14.57
247
+ v.v_cofins = 67.11
248
+ v.v_outro = 0.00
249
+ v.v_nf = 833.12
250
+ end
251
+ end
252
+
253
+ def transp
254
+ new_view(:transp) do |v|
255
+ v.mod_frete = 1
256
+ v.transporta = transporta
257
+ v.vol = vol
258
+ end
259
+ end
260
+
261
+ def transporta
262
+ new_view(:transporta) do |v|
263
+ v.x_nome = "RETIRA"
264
+ end
265
+ end
266
+
267
+ def vol
268
+ new_view(:vol) do |v|
269
+ v.q_vol = 3
270
+ v.esp = "VOLUMES"
271
+ v.peso_l = 46.480
272
+ v.peso_b = 50.000
273
+ end
274
+ end
275
+
276
+ def inf_adic
277
+ new_view(:inf_adic) do |v|
278
+ v.inf_ad_fisco = "EMITIDO NOS TERMOS DO ARTIGO 400-C DO DECRETO 48042/03 SAIDA COM SUSPENSAO DO IPI CONFORME ART 29 DA LEI 10.637"
279
+ v.obs_cont = obs_cont
280
+ end
281
+ end
282
+
283
+ def obs_cont
284
+ new_view(:obs_cont) do |v|
285
+ v.x_texto = "roberto@fimatec.com.br"
286
+ end
287
+ end
288
+
289
+ private
290
+
291
+ def new_view(name)
292
+ klass = "Nfe::Template::#{name.to_s.classify}".constantize
293
+ v = klass.new
294
+ yield v if block_given?
295
+ v
296
+ end
297
+ end
298
+ end
299
+
300
+ RSpec.configure do |config|
301
+ config.include NfeXmlComparator
302
+ config.include Nfe::Template::TestHelpers
303
+ config.treat_symbols_as_metadata_keys_with_true_values = true
304
+ config.run_all_when_everything_filtered = true
305
+ config.filter_run :focus
306
+ end