#encoding: utf-8
require "spec_helper"
describe BrDanfe::Xprod do
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_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
expected = "MONITOR DE ARCO ELETRICO"
expected += "\n"
expected +="FCI: 12232531-74B2-4FDD-87A6-CF0AD3E55386"
expect(BrDanfe::Xprod.generate(xml_fci)).to eq expected
end
end
context "when have ST" do
it "returns product + ST" do
expected = "MONITOR DE ARCO ELETRICO"
expected += "\n"
expected += "ST: MVA: 56.00% * Alíq: 17.00% * BC: 479.82 * Vlr: 29.28"
expect(BrDanfe::Xprod.generate(xml_st)).to eq expected
end
end
context "when have infAdProd" do
it "returns product + infAdProd" do
expected = "MONITOR DE ARCO ELETRICO"
expected += "\n"
expected += "Informações adicionais do produto"
expect(BrDanfe::Xprod.generate(xml_infAdProd)).to eq expected
end
end
context "when have FCI + ST + infAdProd" do
it "returns product + FCI + ST + infAdProd" do
expected = "MONITOR DE ARCO ELETRICO"
expected += "\n"
expected += "Informações adicionais do produto"
expected += "\n"
expected +="FCI: 12232531-74B2-4FDD-87A6-CF0AD3E55386"
expected += "\n"
expected += "ST: MVA: 56.00% * Alíq: 17.00% * BC: 479.82 * Vlr: 29.28"
expect(BrDanfe::Xprod.generate(xml_IFC_ST_infAdProd)).to eq expected
end
end
end
end