#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