#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_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 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