Skip to content

Commit 002886b

Browse files
committed
Adicionados dados de veículos na descrição do produto
1 parent c569cbd commit 002886b

File tree

2 files changed

+47
-0
lines changed

2 files changed

+47
-0
lines changed

lib/ruby_danfe/descricao.rb

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,17 @@ def self.generate(det)
1717
descricao += "FCI: #{det.css('prod/nFCI').text}"
1818
end
1919

20+
if need_veicProd(det)
21+
veicProd = det.css('veicProd')
22+
23+
descricao += LINEBREAK
24+
descricao += "Chassi: #{veicProd.css('chassi').text} "
25+
descricao += "Motor: #{veicProd.css('nMotor').text} "
26+
descricao += "AnoFab: #{veicProd.css('anoFab').text} "
27+
descricao += "AnoMod: #{veicProd.css('anoMod').text} "
28+
descricao += "Cor: #{veicProd.css('xCor').text}"
29+
end
30+
2031
if need_st(det)
2132
descricao += LINEBREAK
2233
descricao += "ST: MVA: #{det.css('ICMS/*/pMVAST').text}% "
@@ -37,6 +48,10 @@ def self.need_fci(det)
3748
!det.css('prod/nFCI').text.empty?
3849
end
3950

51+
def self.need_veicProd(det)
52+
!det.css('prod/veicProd').text.empty?
53+
end
54+
4055
def self.need_st(det)
4156
det.css('ICMS/*/vBCST').text.to_i > 0
4257
end

spec/lib/descricao_spec.rb

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,25 @@
5454
Nokogiri::XML(xml)
5555
end
5656

57+
let(:xml_veicProd) do
58+
xml = <<-eos
59+
<det nItem="1">
60+
<prod>
61+
<xProd>MOTOCICLETA</xProd>
62+
<veicProd>
63+
<chassi>32A1SF354S6FASD213ASD5</chassi>
64+
<xCor>PRETA</xCor>
65+
<nMotor>DSA5DA-321503</nMotor>
66+
<anoMod>2018</anoMod>
67+
<anoFab>2018</anoFab>
68+
</veicProd>
69+
</prod>
70+
</det>
71+
eos
72+
73+
Nokogiri::XML(xml)
74+
end
75+
5776
let(:xml_IFC_ST_infAdProd) do
5877
xml = <<-eos
5978
<det nItem="1">
@@ -110,6 +129,19 @@
110129
end
111130
end
112131

132+
context "when have veicProd" do
133+
it "returns product + veicProd" do
134+
string = "MOTOCICLETA"
135+
string += LINEBREAK
136+
string += "Chassi: 32A1SF354S6FASD213ASD5 "
137+
string += "Motor: DSA5DA-321503 "
138+
string += "AnoFab: 2018 "
139+
string += "AnoMod: 2018 "
140+
string += "Cor: PRETA"
141+
expect(RubyDanfe::Descricao.generate(xml_veicProd)).to eq string
142+
end
143+
end
144+
113145
context "when have FCI + ST + infAdProd" do
114146
it "returns product + FCI + ST + infAdProd" do
115147
string = "MONITOR DE ARCO ELETRICO"

0 commit comments

Comments
 (0)