diff options
author | Henrik Nyh <henrik@nyh.se> | 2014-03-23 12:09:55 +0100 |
---|---|---|
committer | Henrik Nyh <henrik@nyh.se> | 2014-03-27 17:56:14 +0100 |
commit | 2e70f44123cb6fab9124b52a6cc02ff453b8397f (patch) | |
tree | d2fe1fcc48ea68276cb41918249fc20b95b3252c /activerecord/test | |
parent | 5bf38ffc4f853a6ccc5812f0ed8341776b117aea (diff) | |
download | rails-2e70f44123cb6fab9124b52a6cc02ff453b8397f.tar.gz rails-2e70f44123cb6fab9124b52a6cc02ff453b8397f.tar.bz2 rails-2e70f44123cb6fab9124b52a6cc02ff453b8397f.zip |
ActiveRecord/ActiveModel '#validate' alias for 'valid?'
It's unintuitive to call '#valid?' when you want to run validations but
don't care about the return value.
The alias in ActiveRecord isn't strictly necessary (the ActiveModel
alias is still in effect), but it clarifies.
Diffstat (limited to 'activerecord/test')
-rw-r--r-- | activerecord/test/cases/validations_test.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/activerecord/test/cases/validations_test.rb b/activerecord/test/cases/validations_test.rb index de618902aa..d80da06e27 100644 --- a/activerecord/test/cases/validations_test.rb +++ b/activerecord/test/cases/validations_test.rb @@ -52,6 +52,21 @@ class ValidationsTest < ActiveRecord::TestCase assert r.save(:context => :special_case) end + def test_validate + r = WrongReply.new + + r.validate + assert_empty r.errors[:author_name] + + r.validate(:special_case) + assert_not_empty r.errors[:author_name] + + r.author_name = "secret" + + r.validate(:special_case) + assert_empty r.errors[:author_name] + end + def test_invalid_record_exception assert_raise(ActiveRecord::RecordInvalid) { WrongReply.create! } assert_raise(ActiveRecord::RecordInvalid) { WrongReply.new.save! } |