blob: c0bf03efc7d0365d92948077987493fb680141f3 (
plain) (
tree)
|
|
# encoding: utf-8
require 'cases/helper'
require 'models/person'
require 'models/person_with_validator'
require 'validators/email_validator'
class ValidatesTest < ActiveRecord::TestCase
def test_validates_with_built_in_validation
Person.validates :title, :numericality => true
person = Person.new
person.valid?
assert person.errors[:title].include?('is not a number')
end
def test_validates_with_built_in_validation_and_options
Person.validates :title, :numericality => { :message => 'my custom message' }
person = Person.new
person.valid?
assert person.errors[:title].include?('my custom message')
end
def test_validates_with_validator_class
Person.validates :karma, :email => true
person = Person.new
person.valid?
assert person.errors[:karma].include?('is not an email')
end
def test_validates_with_validator_class_and_options
Person.validates :karma, :email => { :message => 'my custom message' }
person = Person.new
person.valid?
assert person.errors[:karma].include?('my custom message')
end
def test_validates_with_unknown_validator
assert_raise(ArgumentError) { Person.validates :karma, :unknown => true }
end
def test_validates_with_included_validator
PersonWithValidator.validates :title, :presence => true
person = PersonWithValidator.new
person.valid?
assert person.errors[:title].include?('Local validator')
end
def test_validates_with_included_validator_and_options
PersonWithValidator.validates :title, :presence => { :custom => ' please' }
person = PersonWithValidator.new
person.valid?
assert person.errors[:title].include?('Local validator please')
end
end
|