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