Sha256: 067ecd9634deb04bdb7fcfef9362bef007cb7291b35bdf3220f56de170d6a89b

Contents?: true

Size: 1.36 KB

Versions: 4

Compression:

Stored size: 1.36 KB

Contents

require 'spec_helper'

describe ZipcodeFormatValidator do
  describe ".validate_each" do
    before(:each) do
      @options = {:attributes => {}}
      @validator = ZipcodeFormatValidator.new(@options)
      @record = BasicRecord.new(:zip_code)
    end

    it "should validate 5 digit zip codes" do
      @record.errors[:zip_code].should_not_receive("<<")
      @validator.validate_each(@record, :zip_code, "12345")
    end

    it "should validate 9 digit zip codes with a space"do
      @record.errors[:zip_code].should_not_receive("<<")
      @validator.validate_each(@record, :zip_code, "12345 6789")
    end

    it "should validate 9 digit zip codes with a dash"do
      @record.errors[:zip_code].should_not_receive("<<")
      @validator.validate_each(@record, :zip_code, "12345-6789")
    end

    it "should not validate 9 digit zip codes with nothing between the first 5 and last 4"do
      @record.errors[:zip_code].should_receive("<<")
      @validator.validate_each(@record, :zip_code, "123456789")
    end

    it "should not validate zip codes of other lengths"do
      @record.errors[:zip_code].should_receive("<<")
      @validator.validate_each(@record, :zip_code, "123456")
    end

    it "does not have support for canadian zip codes"do
      @record.errors[:zip_code].should_receive("<<")
      @validator.validate_each(@record, :zip_code, "K1A OB1")
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
format_validators-0.0.8 spec/validators/zipcode_format_validator_spec.rb
format_validators-0.0.7 spec/validators/zipcode_format_validator_spec.rb
format_validators-0.0.6 spec/validators/zipcode_format_validator_spec.rb
format_validators-0.0.5 spec/validators/zipcode_format_validator_spec.rb