#encoding: utf-8
require "spec_helper"
describe RubyDanfe::Descricao do
LINEBREAK = "\n"
let(:xml_fci) do
xml = <<-eos
MONITOR DE ARCO ELETRICO
12232531-74B2-4FDD-87A6-CF0AD3E55386
eos
Nokogiri::XML(xml)
end
let(:xml_st) do
xml = <<-eos
MONITOR DE ARCO ELETRICO
96.73
56.00
479.82
17.00
29.28
eos
Nokogiri::XML(xml)
end
let(:xml_infAdProd) do
xml = <<-eos
MONITOR DE ARCO ELETRICO
Informações adicionais do produto
eos
Nokogiri::XML(xml)
end
let(:xml_veicProd) do
xml = <<-eos
MOTOCICLETA
32A1SF354S6FASD213ASD5
PRETA
DSA5DA-321503
2018
2018
eos
Nokogiri::XML(xml)
end
let(:xml_IFC_ST_infAdProd) do
xml = <<-eos
MONITOR DE ARCO ELETRICO
12232531-74B2-4FDD-87A6-CF0AD3E55386
96.73
56.00
479.82
17.00
29.28
Informações adicionais do produto
eos
Nokogiri::XML(xml)
end
describe ".generate" do
context "when have FCI" do
it "returns product + FCI" do
string = "MONITOR DE ARCO ELETRICO"
string += LINEBREAK
string +="FCI: 12232531-74B2-4FDD-87A6-CF0AD3E55386"
expect(RubyDanfe::Descricao.generate(xml_fci)).to eq string
end
end
context "when have ST" do
it "returns product + ST" do
string = "MONITOR DE ARCO ELETRICO"
string += LINEBREAK
string += "ST: MVA: 56.00% "
string += "* Alíq: 17.00% "
string += "* BC: 479.82 "
string += "* Vlr: 29.28"
expect(RubyDanfe::Descricao.generate(xml_st)).to eq string
end
end
context "when have infAdProd" do
it "returns product + infAdProd" do
string = "MONITOR DE ARCO ELETRICO"
string += LINEBREAK
string += "Informações adicionais do produto"
expect(RubyDanfe::Descricao.generate(xml_infAdProd)).to eq string
end
end
context "when have veicProd" do
it "returns product + veicProd" do
string = "MOTOCICLETA"
string += LINEBREAK
string += "Chassi: 32A1SF354S6FASD213ASD5 "
string += "Motor: DSA5DA-321503 "
string += "AnoFab: 2018 "
string += "AnoMod: 2018 "
string += "Cor: PRETA"
expect(RubyDanfe::Descricao.generate(xml_veicProd)).to eq string
end
end
context "when have FCI + ST + infAdProd" do
it "returns product + FCI + ST + infAdProd" do
string = "MONITOR DE ARCO ELETRICO"
string += LINEBREAK
string += "Informações adicionais do produto"
string += LINEBREAK
string +="FCI: 12232531-74B2-4FDD-87A6-CF0AD3E55386"
string += LINEBREAK
string += "ST: MVA: 56.00% "
string += "* Alíq: 17.00% "
string += "* BC: 479.82 "
string += "* Vlr: 29.28"
expect(RubyDanfe::Descricao.generate(xml_IFC_ST_infAdProd)).to eq string
end
end
end
end