require 'spec_helper' describe BrDanfe::DanfeLib::NfeLib::Infadic do let(:base_dir) { './spec/fixtures/nfe/lib/' } let(:output_pdf) { "#{base_dir}output.pdf" } let(:pdf) { BrDanfe::DanfeLib::NfeLib::Document.new } let(:xml) { BrDanfe::XML.new(xml_as_string) } subject { described_class.new(pdf, xml) } describe '#render' do let(:volumes_number) { 1 } before do subject.render(volumes_number) File.delete(output_pdf) if File.exist?(output_pdf) end context 'when there is no information' do let(:xml_as_string) do <<~XML 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 4892.78 75394.78 XML end it 'renders title with box, subtitle and fisco box on 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 end context 'when has difal' do let(:xml_as_string) do <<~XML 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 4892.78 2915.78 75394.78 XML end it 'renders title with box, subtitle, fisco box and difal on 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 'when has too big address' do let(:xml_as_string) do <<~XML 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 XML end it 'renders title with box, subtitle, fisco box and address on the pdf' do expect(File.exist?(output_pdf)).to be_falsey pdf.render_file output_pdf expect("#{base_dir}infadic#render-with_street_data.pdf").to have_same_content_of file: output_pdf end end context 'when has complementary information' do let(:xml_as_string) do <<~XML 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 XML end it 'renders title with box, subtitle, fisco box and complementary information on the pdf' do expect(File.exist?(output_pdf)).to be_falsey pdf.render_file output_pdf expect("#{base_dir}infadic#render-with_complementary_information.pdf").to have_same_content_of file: output_pdf end end context 'when has additional fisco information' do let(:xml_as_string) do <<~XML Total de FCP-ST: 348,96 XML end it 'renders title with box, subtitle, fisco box and additional information about fisco on the pdf' do expect(File.exist?(output_pdf)).to be_falsey pdf.render_file output_pdf expect("#{base_dir}infadic#render-with_fisco_additional_information.pdf").to have_same_content_of file: output_pdf end end context 'when has extra volume' do let(:xml_as_string) do <<~XML 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 0.00 0.00 0.00 XML end let(:volumes_number) { 2 } it 'renders title with box, subtitle, fisco box and extra volumes on 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 end context 'when has address shipment' do let(:xml_as_string) do <<~XML 32301321907894 Rua dos bobos 0 Na casa não tem parede Centro 4218004 TIJUCAS SC XML end it 'renders title with box, subtitle, fisco box and address shipment information on the pdf' do expect(File.exist?(output_pdf)).to be_falsey pdf.render_file output_pdf expect("#{base_dir}infadic#address-shipment.pdf").to have_same_content_of file: output_pdf end end context 'when has all the informations' do let(:xml_as_string) do <<~XML 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 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 32301321907894 Rua dos bobos 0 Na casa não tem parede Centro 4218004 TIJUCAS SC Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec congue in dolor sed sagittis. Total de FCP-ST: 348,96 348.96 4892.78 2915.78 75394.78 XML end let(:volumes_number) { 3 } it 'renders title with box, subtitle, fisco box, extra volumes, ' \ 'complementary information, address and difal on the pdf' do expect(File.exist?(output_pdf)).to be_falsey pdf.render_file output_pdf expect("#{base_dir}infadic#render-all_the_informations.pdf").to have_same_content_of file: output_pdf end end end end