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