aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2012-01-09 09:45:05 -0800
committerAaron Patterson <aaron.patterson@gmail.com>2012-01-09 09:45:05 -0800
commite9d44efd7e4964ad723ec29d5d908d053b4711ca (patch)
treefdbada8078419947735d30e1324d4be3a572ddc0 /activerecord/test
parentd8516d702c1cf5ee633b73b54189c12c934ebdd8 (diff)
parent3b5fbafab014325bdd42a7cae867ee5c92bc3298 (diff)
downloadrails-e9d44efd7e4964ad723ec29d5d908d053b4711ca.tar.gz
rails-e9d44efd7e4964ad723ec29d5d908d053b4711ca.tar.bz2
rails-e9d44efd7e4964ad723ec29d5d908d053b4711ca.zip
Merge pull request #4370 from EnlightSolutions/validates_unique_association
Validates unique association
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/validations/uniqueness_validation_test.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/activerecord/test/cases/validations/uniqueness_validation_test.rb b/activerecord/test/cases/validations/uniqueness_validation_test.rb
index 327830096b..79442d68b0 100644
--- a/activerecord/test/cases/validations/uniqueness_validation_test.rb
+++ b/activerecord/test/cases/validations/uniqueness_validation_test.rb
@@ -92,6 +92,30 @@ class UniquenessValidationTest < ActiveRecord::TestCase
assert r3.valid?, "Saving r3"
end
+ def test_validate_uniqueness_with_object_scope
+ Reply.validates_uniqueness_of(:content, :scope => :topic)
+
+ t = Topic.create("title" => "I'm unique!")
+
+ r1 = t.replies.create "title" => "r1", "content" => "hello world"
+ assert r1.valid?, "Saving r1"
+
+ r2 = t.replies.create "title" => "r2", "content" => "hello world"
+ assert !r2.valid?, "Saving r2 first time"
+ end
+
+ def test_validate_uniqueness_with_object_arg
+ Reply.validates_uniqueness_of(:topic)
+
+ t = Topic.create("title" => "I'm unique!")
+
+ r1 = t.replies.create "title" => "r1", "content" => "hello world"
+ assert r1.valid?, "Saving r1"
+
+ r2 = t.replies.create "title" => "r2", "content" => "hello world"
+ assert !r2.valid?, "Saving r2 first time"
+ end
+
def test_validate_uniqueness_scoped_to_defining_class
t = Topic.create("title" => "What, me worry?")