Sha256: 53aa993fa4317e14961709c15735ec9929ada9d8e675e96833fac3952c2de391

Contents?: true

Size: 1.56 KB

Versions: 3

Compression:

Stored size: 1.56 KB

Contents

require File.join(File.dirname(__FILE__), '..', 'spec_helper.rb')

describe "Phone Validation" do

  it 'should validate format of phone with ###-###-####' do
    model = Models::PhoneValidatorModel.new
    model.phone = '999-999-9999'
    model.valid?.should be(true)
    model.should have(0).errors
  end

  it 'should validate format of phone with ##########' do
    model = Models::PhoneValidatorModel.new
    model.phone = '9999999999'
    model.valid?.should be(true)
    model.should have(0).errors
  end

  it 'should validate format of phone with ###.###.####' do
    model = Models::PhoneValidatorModel.new
    model.phone = '999.999.9999'
    model.valid?.should be(true)
    model.should have(0).errors
  end

  it 'should validate format of phone with ### ### ####' do
    model = Models::PhoneValidatorModel.new
    model.phone = '999 999 9999'
    model.valid?.should be(true)
    model.should have(0).errors
  end

  it 'should validate format of phone with (###) ###-####' do
    model = Models::PhoneValidatorModel.new
    model.phone = '(999) 999-9999'
    model.valid?.should be(true)
    model.should have(0).errors
  end

  describe "for invalid formats" do
    let(:model) do
      Models::PhoneValidatorModel.new.tap do |m|
        m.phone = '999'
      end
    end

    it "rejects invalid formats" do
      model.valid?.should be(false)
      model.should have(1).errors
    end

    it "generates an error message of type invalid" do
      model.valid?.should be(false)
      model.errors[:phone].should == [model.errors.generate_message(:phone, :invalid)]
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
activevalidators-1.2.0 spec/specs/phone_spec.rb
activevalidators-1.1.0 spec/specs/phone_spec.rb
activevalidators-1.0.2 spec/specs/phone_spec.rb