aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2010-05-10 12:28:38 +0300
committerJosé Valim <jose.valim@gmail.com>2010-05-10 12:28:38 +0300
commit5c245b91d2dbc0b300e8193310b3f950d0cf6c4b (patch)
treebb5c50da70417ff7951d905cab2a70f14e21ebf6 /activerecord/test/cases
parentce5827ea4791e8b8143919ecceb0231e36e8932e (diff)
downloadrails-5c245b91d2dbc0b300e8193310b3f950d0cf6c4b.tar.gz
rails-5c245b91d2dbc0b300e8193310b3f950d0cf6c4b.tar.bz2
rails-5c245b91d2dbc0b300e8193310b3f950d0cf6c4b.zip
Make sure valid? preceives the context as in ActiveModel API (ht: Carlos Antonio)
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r--activerecord/test/cases/validations_test.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/activerecord/test/cases/validations_test.rb b/activerecord/test/cases/validations_test.rb
index e1fb911cc9..b873babc36 100644
--- a/activerecord/test/cases/validations_test.rb
+++ b/activerecord/test/cases/validations_test.rb
@@ -62,6 +62,23 @@ class ValidationsTest < ActiveRecord::TestCase
assert_equal ["is Wrong Update"], r.errors[:title], "A reply with a bad content should contain an error"
end
+ def test_error_on_given_context
+ r = WrongReply.new
+ assert !r.valid?(:special_case)
+ assert "Invalid", r.errors[:title].join
+
+ r.title = "secret"
+ r.content = "Good"
+ assert r.valid?(:special_case)
+
+ r.title = nil
+ assert !r.save(:context => :special_case)
+ assert "Invalid", r.errors[:title].join
+
+ r.title = "secret"
+ assert r.save(:context => :special_case)
+ end
+
def test_invalid_record_exception
assert_raise(ActiveRecord::RecordInvalid) { WrongReply.create! }
assert_raise(ActiveRecord::RecordInvalid) { WrongReply.new.save! }