require "spec_helper" describe BrDanfe::DanfeLib::Infadic do let(:base_dir) { "./spec/fixtures/nfe/lib/" } let(:output_pdf) { "#{base_dir}output.pdf" } let(:pdf) { BrDanfe::DanfeLib::Document.new } let(:xml) { BrDanfe::DanfeLib::XML.new(xml_as_string) } subject { described_class.new(pdf, xml) } describe "#render" do let(:xml_as_string) do <<-eos 2011-10-29 2011-10-30 15:32:45 82743287000880 Schneider Electric Brasil Ltda Av da Saudade 1125 Frutal Sala 01 e 02 3552403 SUMARE SP 13171320 1058 BRASIL 1921046300 671008375110 1 VOLUMES 1 DIVERSOS 1 1 1000.000 1100.000 2 VOLUMES 2 DIVERSOS 2 2 2000.000 2200.000 3 VOLUMES 3 DIVERSOS 3 3 3000.000 3300.000 Uma observação 0.00 0.00 0.00 eos end context "without extra volume" do before do subject.render(1) File.delete(output_pdf) if File.exist?(output_pdf) end it "renders xml to the pdf" do expect(File.exist?(output_pdf)).to be_falsey pdf.render_file output_pdf expect("#{base_dir}infadic#render.pdf").to have_same_content_of file: output_pdf end context "with difal" do let(:xml_as_string) do <<-eos 1 VOLUMES 1 DIVERSOS 1 1 1000.000 1100.000 2 VOLUMES 2 DIVERSOS 2 2 2000.000 2200.000 3 VOLUMES 3 DIVERSOS 3 3 3000.000 3300.000 Uma observação 4892.78 2915.78 75394.78 eos end it "renders xml to the pdf" do expect(File.exist?(output_pdf)).to be_falsey pdf.render_file output_pdf expect("#{base_dir}infadic#render-difal.pdf").to have_same_content_of file: output_pdf end end context "with too big address" do let(:xml_as_string) do <<-eos 2011-10-29 2011-10-30 15:32:45 82743287000880 Schneider Electric Brasil Ltda Av da Saudade 1125 Frutal Em anexo ao super mercado maior do bairro 3552403 SUMARE SP 13171320 1058 BRASIL 1921046300 671008375110 Uma observação eos end it "renders xml to the pdf with street on observation" do expect(File.exist?(output_pdf)).to be_falsey pdf.render_file output_pdf expect("#{base_dir}infadic-with-street-data#render.pdf").to have_same_content_of file: output_pdf end end end context "with extra volume" do before do subject.render(3) File.delete(output_pdf) if File.exist?(output_pdf) end it "renders xml to the pdf" do expect(File.exist?(output_pdf)).to be_falsey pdf.render_file output_pdf expect("#{base_dir}infadic#render-extra_volume.pdf").to have_same_content_of file: output_pdf end context "with difal" do let(:xml_as_string) do <<-eos 1 VOLUMES 1 DIVERSOS 1 1 1000.000 1100.000 2 VOLUMES 2 DIVERSOS 2 2 2000.000 2200.000 3 VOLUMES 3 DIVERSOS 3 3 3000.000 3300.000 Uma observação 4892.78 2915.78 75394.78 eos end it "renders xml to the pdf" do expect(File.exist?(output_pdf)).to be_falsey pdf.render_file output_pdf expect("#{base_dir}infadic#render-extra_volume_difal.pdf").to have_same_content_of file: output_pdf end end end end end