You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

52 lines
1.4 KiB

# -*- encoding : utf-8 -*-
require File.dirname(__FILE__) + '/spec_helper'
describe Cnpj do
it "should be invalid with malformed number" do
numeros = %w(04.22A.284/0001-11 04.222-284.0001-11 04222/284/0001-11)
numeros.each do |n|
cnpj = Cnpj.new(n)
cnpj.should_not be_valido
end
end
it "should be invalid with invalid number" do
numeros = %w(69103604020160 00000000000000 69.103.604/0001-61 01618211000264)
numeros.each do |n|
cnpj = Cnpj.new(n)
cnpj.should_not be_valido
end
end
it "should be invalid with a number longer than 14 chars, even if the first 14 represent a valid number" do
%w(691036040001-601 69103604000160a 69103604000160ABC 6910360400016000).each do |n|
Cnpj.new(n).should_not be_valido
end
end
it "should be valid with correct number" do
numeros = %w(69103604000160 69.103.604/0001-60 01518211/000264 01.5182110002-64 00.000.000/1447-89)
numeros.each do |n|
cnpj = Cnpj.new(n)
cnpj.should be_valido
end
end
it "should return the formated cnpj" do
cnpj = Cnpj.new("69103604000160")
cnpj.to_s.should == "69.103.604/0001-60"
end
it "should format the received number at instantiation" do
cnpj = Cnpj.new("69103604000160")
cnpj.numero.should == "69.103.604/0001-60"
end
it "should be equal to another instance with the same number" do
Cnpj.new("69103604000160").should == Cnpj.new("69.103.604/0001-60")
end
end