Sha256: 865b3a5e513ff3d376133435baa0010f630d328df5ff42a5014851a077c6d0c5

Contents?: true

Size: 1.59 KB

Versions: 5

Compression:

Stored size: 1.59 KB

Contents

require 'spec_helper'

describe BrDocuments::CnpjCpf::Cnpj do
  describe '#formatted' do
    it 'returns a formatted number' do
      cnpj = described_class.new('04001155000101')
      expect(cnpj.formatted).to eq '04.001.155/0001-01'
    end

    context 'when is invalid' do
      it 'returns an empty string' do
        cnpj = described_class.new('123')
        expect(cnpj.formatted).to eq ''
      end
    end
  end

  it 'is invalid with malformed number' do
    ['242.2818/50001-54', '35.611.011/000192'].each do |number|
      cnpj = described_class.new(number)
      expect(cnpj).not_to be_valid
    end
  end

  it 'is invalid with a number longer than 14' do
    ['24.228.185/0001-544', '936710360001881'].each do |number|
      cnpj = described_class.new(number)
      expect(cnpj).not_to be_valid
    end
  end

  it 'is invalid with a number shorter than 14' do
    ['24.228.185/0001-5', '9367103600018'].each do |number|
      cnpj = described_class.new(number)
      expect(cnpj).not_to be_valid
    end
  end

  it 'is invalid with a sequence of the same number' do
    ['11.111.111/1111-11', '22222222222222'].each do |number|
      cnpj = described_class.new(number)
      expect(cnpj).not_to be_valid
    end
  end

  it 'is invalid with invalid check number' do
    ['04.001.155/0001-03', '85961757000101'].each do |number|
      cnpj = described_class.new(number)
      expect(cnpj).not_to be_valid
    end
  end

  it 'is valid with correct number' do
    ['04.001.155/0001-01', '85961757000102'].each do |number|
      cnpj = described_class.new(number)
      expect(cnpj).to be_valid
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
br_documents-0.2.5 spec/br_documents/cnpj_cpf/cnpj_spec.rb
br_documents-0.2.4 spec/br_documents/cnpj_cpf/cnpj_spec.rb
br_documents-0.2.3 spec/br_documents/cnpj_cpf/cnpj_spec.rb
br_documents-0.2.2 spec/br_documents/cnpj_cpf/cnpj_spec.rb
br_documents-0.2.1 spec/br_documents/cnpj_cpf/cnpj_spec.rb