require 'spec_helper' describe BrDanfe::DanfeLib::EmitHeader do let(:base_dir) { './spec/fixtures/nfe/lib/' } let(:output_pdf) { "#{base_dir}output.pdf" } let(:pdf) { BrDanfe::DanfeLib::Document.new } let(:xml) { BrDanfe::XML.new(xml_as_string) } let(:logo) { 'spec/fixtures/logo.png' } subject { described_class.new(pdf, xml, logo, { width: 100, height: 100 }) } describe '#render' do let(:xml_as_string) do <<-eos 1 1 1 Vendas de producao do estabelecimento Nome do Remetente Ltda 62013294000143 526926313553 611724092039 Rua do Remetente, Casa 123 Bairro do Remetente SAO PAULO SP 12345678 1112345678 foo@bar.com 25111012345678901234550020000134151000134151 2011-10-29T14:37:09 325110012866320 eos end context 'render emitter on first page' do before do subject.render 1, 3.96 File.delete(output_pdf) if File.exist?(output_pdf) end context 'with logo' do it 'renders xml to the pdf' do expect(File.exist?(output_pdf)).to be_falsey pdf.render_file output_pdf expect("#{base_dir}emit_header#render-with_logo.pdf").to have_same_content_of file: output_pdf end end context 'without logo' do let(:logo) { '' } it 'renders xml to the pdf' do expect(File.exist?(output_pdf)).to be_falsey pdf.render_file output_pdf expect("#{base_dir}emit_header#render-without_logo.pdf").to have_same_content_of file: output_pdf end end end context 'render emitter on second page' do before do subject.render 2, 1.85 File.delete(output_pdf) if File.exist?(output_pdf) end context 'with logo' do it 'renders xml to the pdf' do expect(File.exist?(output_pdf)).to be_falsey pdf.render_file output_pdf expect("#{base_dir}emit_header#render-second_page.pdf").to have_same_content_of file: output_pdf end end end end end