require "spec_helper"
describe BrDanfe::Dest do
let(:base_dir) { "./spec/fixtures/lib/"}
let(:output_pdf) { "#{base_dir}output.pdf" }
let(:pdf) { BrDanfe::Document.new }
let(:xml) { BrDanfe::XML.new(xml_as_string) }
subject { described_class.new(pdf, xml) }
describe "#render" do
before do
subject.render
File.delete(output_pdf) if File.exist?(output_pdf)
end
context "when nf-e's version is 2.00" 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
3552403
SUMARE
SP
13171320
1058
BRASIL
1921046300
671008375110
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}dest#render-v2.00.pdf").to have_same_content_of file: output_pdf
end
end
context "when nf-e's version is 3.10" do
let(:xml_as_string) do
<<-eos
2011-10-29
2011-10-30T12:32:45-03:00
82743287000880
Schneider Electric Brasil Ltda
Av da Saudade
1125
Frutal
3552403
SUMARE
SP
13171320
1058
BRASIL
1921046300
671008375110
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}dest#render-v3.10.pdf").to have_same_content_of file: output_pdf
end
end
context "when recipient has CNPJ" do
let(:xml_as_string) do
<<-eos
71058884000183
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}dest#render-with_cnpj.pdf").to have_same_content_of file: output_pdf
end
end
context "when recipient has CPF" do
let(:xml_as_string) do
<<-eos
48532557457
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}dest#render-with_cpf.pdf").to have_same_content_of file: output_pdf
end
end
context "when recipient has IE" do
let(:xml_as_string) do
<<-eos
SP
671008375110
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}dest#render-with_ie.pdf").to have_same_content_of file: output_pdf
end
end
end
end