Sha256: 0797795189f2857d82df45bbb4c637a4586426338291f12fb0e1b799d708617f

Contents?: true

Size: 1.89 KB

Versions: 11

Compression:

Stored size: 1.89 KB

Contents

require 'spec_helper'

describe BrDanfe::DanfeLib::NfeLib::Issqn 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(:xml_as_string) do
      <<~XML
        <NFe xmlns="http://www.portalfiscal.inf.br/nfe">
          <infNFe Id="NFe25111012345678901234550020000134151000134151" versao="2.00">
            <emit>
              <IM>2345</IM>
            </emit>
            <total>
              <ISSQNtot>
              #{issqn}
              </ISSQNtot>
            </total>
          </infNFe>
        </NFe>
      XML
    end

    let(:issqn) do
      <<~XML
        <vServ>1.43</vServ>
        <vBC>2.34</vBC>
        <vISS>3.45</vISS>
      XML
    end

    before do
      subject.render
      File.delete(output_pdf) if File.exist?(output_pdf)
    end

    context 'with ISSQN' do
      it 'renders xml to the pdf' do
        expect(File.exist?(output_pdf)).to be_falsey

        pdf.render_file output_pdf

        expect("#{base_dir}issqn#render-with_issqn.pdf").to have_same_content_of file: output_pdf
      end

      context 'when there is only one issqn value' do
        let(:issqn) { '<vServ>1.43</vServ>' }

        it 'renders xml to the pdf' do
          expect(File.exist?(output_pdf)).to be_falsey

          pdf.render_file output_pdf

          expect("#{base_dir}issqn#render-with_one_issqn_value.pdf").to have_same_content_of file: output_pdf
        end
      end
    end

    context 'without ISSQN' do
      let(:issqn) { '' }

      it 'renders xml to the pdf' do
        expect(File.exist?(output_pdf)).to be_falsey

        pdf.render_file output_pdf

        expect("#{base_dir}issqn#render-without_issqn.pdf").to have_same_content_of file: output_pdf
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
br_danfe-0.20.0 spec/br_danfe/danfe_lib/nfe_lib/issqn_spec.rb
br_danfe-0.19.0 spec/br_danfe/danfe_lib/nfe_lib/issqn_spec.rb
br_danfe-0.18.0 spec/br_danfe/danfe_lib/nfe_lib/issqn_spec.rb
br_danfe-0.17.8 spec/br_danfe/danfe_lib/nfe_lib/issqn_spec.rb
br_danfe-0.17.7 spec/br_danfe/danfe_lib/nfe_lib/issqn_spec.rb
br_danfe-0.17.6 spec/br_danfe/danfe_lib/nfe_lib/issqn_spec.rb
br_danfe-0.17.5 spec/br_danfe/danfe_lib/nfe_lib/issqn_spec.rb
br_danfe-0.17.4 spec/br_danfe/danfe_lib/nfe_lib/issqn_spec.rb
br_danfe-0.17.3 spec/br_danfe/danfe_lib/nfe_lib/issqn_spec.rb
br_danfe-0.17.2 spec/br_danfe/danfe_lib/nfe_lib/issqn_spec.rb
br_danfe-0.17.1 spec/br_danfe/danfe_lib/nfe_lib/issqn_spec.rb