mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
ActiveResource validation tests did not test ActiveModel validations. Adjust the test to be done the Rails3 way.
Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
This commit is contained in:
parent
471327169d
commit
1bedee5631
2 changed files with 12 additions and 13 deletions
|
@ -48,6 +48,12 @@ class ValidationsTest < ActiveModel::TestCase
|
|||
assert p.save, "should have saved after fixing the validation, but had: #{p.errors.inspect}"
|
||||
end
|
||||
|
||||
def test_client_side_validation_maximum
|
||||
project = Project.new(:description => '123456789012345')
|
||||
assert ! project.valid?
|
||||
assert_equal ['is too long (maximum is 10 characters)'], project.errors[:description]
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
# quickie helper to create a new project with all the required
|
||||
|
|
19
activeresource/test/fixtures/project.rb
vendored
19
activeresource/test/fixtures/project.rb
vendored
|
@ -1,25 +1,18 @@
|
|||
# used to test validations
|
||||
class Project < ActiveResource::Base
|
||||
self.site = "http://37s.sunrise.i:3000"
|
||||
schema do
|
||||
string :email
|
||||
string :name
|
||||
end
|
||||
|
||||
validates_presence_of :name
|
||||
validates :name, :presence => true
|
||||
validates :description, :presence => false, :length => {:maximum => 10}
|
||||
validate :description_greater_than_three_letters
|
||||
|
||||
# to test the validate *callback* works
|
||||
def description_greater_than_three_letters
|
||||
errors.add :description, 'must be greater than three letters long' if description.length < 3 unless description.blank?
|
||||
end
|
||||
|
||||
|
||||
# stop-gap accessor to default this attribute to nil
|
||||
# Otherwise the validations fail saying that the method does not exist.
|
||||
# In future, method_missing will be updated to not explode on a known
|
||||
# attribute.
|
||||
def name
|
||||
attributes['name'] || nil
|
||||
end
|
||||
def description
|
||||
attributes['description'] || nil
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue