require "spec_helper" describe BrDanfe::DanfeLib::Dest 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 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-29T13:02:59+00:00 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