Sha256: cfa3109a3a89bda0555fe726291c301d849fed409607ce218ef5cf68feefbdaa

Contents?: true

Size: 1.87 KB

Versions: 13

Compression:

Stored size: 1.87 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
      <<-eos
      <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>
      eos
    end

    let(:issqn) do
      <<-eos
        <vServ>1.43</vServ>
        <vBC>2.34</vBC>
        <vISS>3.45</vISS>
      eos
    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

13 entries across 13 versions & 1 rubygems

Version Path
br_danfe-0.17.0 spec/br_danfe/danfe_lib/nfe_lib/issqn_spec.rb
br_danfe-0.16.0 spec/br_danfe/danfe_lib/nfe_lib/issqn_spec.rb
br_danfe-0.15.1 spec/br_danfe/danfe_lib/nfe_lib/issqn_spec.rb
br_danfe-0.15.0 spec/br_danfe/danfe_lib/nfe_lib/issqn_spec.rb
br_danfe-0.14.5 spec/br_danfe/danfe_lib/nfe_lib/issqn_spec.rb
br_danfe-0.14.4 spec/br_danfe/danfe_lib/nfe_lib/issqn_spec.rb
br_danfe-0.14.3 spec/br_danfe/danfe_lib/nfe_lib/issqn_spec.rb
br_danfe-0.14.2 spec/br_danfe/danfe_lib/nfe_lib/issqn_spec.rb
br_danfe-0.14.0 spec/br_danfe/danfe_lib/nfe_lib/issqn_spec.rb
br_danfe-0.13.3 spec/br_danfe/danfe_lib/nfe_lib/issqn_spec.rb
br_danfe-0.13.2 spec/br_danfe/danfe_lib/nfe_lib/issqn_spec.rb
br_danfe-0.13.1 spec/br_danfe/danfe_lib/nfe_lib/issqn_spec.rb
br_danfe-0.13.0 spec/br_danfe/danfe_lib/nfe_lib/issqn_spec.rb