require "spec_helper" describe BrDanfe::DanfeLib::Document do let(:base_dir) { "./spec/fixtures/nfe/lib/"} let(:output_pdf) { "#{base_dir}output.pdf" } let(:xml) { BrDanfe::DanfeLib::XML.new(xml_as_string) } describe "#lie" do before do subject.render File.delete(output_pdf) if File.exist?(output_pdf) end context "when IE is valid" do let(:xml_as_string) do <<-eos 964508990089 SP eos end it "renders a box with a formated IE to the pdf" do expect(File.exist?(output_pdf)).to be_falsey subject.lie 0.80, 3.94, 1, 1, xml, "transporta/UF", "transporta/IE" subject.render_file output_pdf expect("#{base_dir}document#lie-valid.pdf").to have_same_content_of file: output_pdf end end context "when IE is invalid" do let(:xml_as_string) do <<-eos 123 SC eos end it "renders a blank box to the pdf" do expect(File.exist?(output_pdf)).to be_falsey subject.lie 0.80, 3.94, 1, 1, xml, "transporta/UF", "transporta/IE" subject.render_file output_pdf expect("#{base_dir}document#lie-invalid.pdf").to have_same_content_of file: output_pdf end end context "when IE is blank" do let(:xml_as_string) do <<-eos eos end it "renders a blank box to the pdf" do expect(File.exist?(output_pdf)).to be_falsey subject.lie 0.80, 3.94, 1, 1, xml, "transporta/UF", "transporta/IE" subject.render_file output_pdf expect("#{base_dir}document#lie-blank.pdf").to have_same_content_of file: output_pdf end end end describe "#lcnpj" do before do subject.render File.delete(output_pdf) if File.exist?(output_pdf) end context "when CNPJ is valid" do let(:xml_as_string) do <<-eos 71434064000149 eos end it "renders a box with a formated CNPJ to the pdf" do expect(File.exist?(output_pdf)).to be_falsey subject.lcnpj 0.80, 3.94, 1, 1, xml, "transporta/CNPJ" subject.render_file output_pdf expect("#{base_dir}document#lcnpj-valid.pdf").to have_same_content_of file: output_pdf end end context "when CNPJ is invalid" do let(:xml_as_string) do <<-eos 714 eos end it "renders a blank box to the pdf" do expect(File.exist?(output_pdf)).to be_falsey subject.lcnpj 0.80, 3.94, 1, 1, xml, "transporta/CNPJ" subject.render_file output_pdf expect("#{base_dir}document#lcnpj-invalid.pdf").to have_same_content_of file: output_pdf end end context "when CNPJ is blank" do let(:xml_as_string) do <<-eos eos end it "renders a blank box to the pdf" do expect(File.exist?(output_pdf)).to be_falsey subject.lcnpj 0.80, 3.94, 1, 1, xml, "transporta/CNPJ" subject.render_file output_pdf expect("#{base_dir}document#lcnpj-blank.pdf").to have_same_content_of file: output_pdf end end end end