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