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.
52 lines
1.4 KiB
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
|
|
|
|
|