Sha256: e0bcd4c9c324d30688f8af919639adfa35fc229eb8a3f829c87c767f029018f6
Contents?: true
Size: 1.64 KB
Versions: 3
Compression:
Stored size: 1.64 KB
Contents
require File.dirname(__FILE__) + "/spec_helper" context DataMapper::Validations::FormatValidator do before(:all) do class Employee include DataMapper::CallbacksHelper include DataMapper::Validations::ValidationHelper attr_accessor :email end end it 'must have a valid email address' do class Employee validations.clear! validates_format_of :email, :as => :email_address, :on => :save end e = Employee.new e.valid?.should == true [ 'test test@example.com', 'test@example', 'test#example.com', 'tester@exampl$.com', '[scizzle]@example.com', '.test@example.com' ].all? { |test_email| e.email = test_email e.valid?(:save).should == false e.errors.full_messages.first.should == "#{test_email} is not a valid email address" } e.email = 'test@example.com' e.valid?(:save).should == true end it 'must have a valid organization code' do class Employee validations.clear! attr_accessor :organization_code # WARNING: contrived example # The organization code must be A#### or B######X12 validates_format_of :organization_code, :on => :save, :with => lambda { |code| (code =~ /A\d{4}/) || (code =~ /[B-Z]\d{6}X12/) } end e = Employee.new e.valid?.should == true e.organization_code = 'BLAH :)' e.valid?(:save).should == false e.errors.full_messages.first.should == 'Organization code is invalid' e.organization_code = 'A1234' e.valid?(:save).should == true e.organization_code = 'B123456X12' e.valid?(:save).should == true end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
datamapper-0.2.1 | spec/validates_format_of_spec.rb |
datamapper-0.2.2 | spec/validates_format_of_spec.rb |
datamapper-0.2.3 | spec/validates_format_of_spec.rb |