aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases
diff options
context:
space:
mode:
authorMatthew Draper <matthew@trebex.net>2016-11-27 23:12:31 +1030
committerGitHub <noreply@github.com>2016-11-27 23:12:31 +1030
commit747ddd34abf34c32b04fd4ef83ed6754f4455b55 (patch)
tree6bfd9b08508ac708bdea72aefd154c27df3c0d2d /activerecord/test/cases
parentc42daff32da8e75c684ba485df1d9e3868121ff3 (diff)
parent8a0fda63aa6ab9b5c30cb23a1c3f5a3399d703f8 (diff)
downloadrails-747ddd34abf34c32b04fd4ef83ed6754f4455b55.tar.gz
rails-747ddd34abf34c32b04fd4ef83ed6754f4455b55.tar.bz2
rails-747ddd34abf34c32b04fd4ef83ed6754f4455b55.zip
Merge pull request #26865 from sergey-alekseev/uniqueness-validation-scope-with-polymorphic-association
fix the uniqueness validation scope with a polymorphic association
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r--activerecord/test/cases/validations/uniqueness_validation_test.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/activerecord/test/cases/validations/uniqueness_validation_test.rb b/activerecord/test/cases/validations/uniqueness_validation_test.rb
index 44b4e28777..6d22638592 100644
--- a/activerecord/test/cases/validations/uniqueness_validation_test.rb
+++ b/activerecord/test/cases/validations/uniqueness_validation_test.rb
@@ -6,6 +6,9 @@ require "models/guid"
require "models/event"
require "models/dashboard"
require "models/uuid_item"
+require "models/author"
+require "models/person"
+require "models/essay"
class Wizard < ActiveRecord::Base
self.abstract_class = true
@@ -163,6 +166,19 @@ class UniquenessValidationTest < ActiveRecord::TestCase
assert !r2.valid?, "Saving r2 first time"
end
+ def test_validate_uniqueness_with_polymorphic_object_scope
+ Essay.validates_uniqueness_of(:name, scope: :writer)
+
+ a = Author.create(name: "Sergey")
+ p = Person.create(first_name: "Sergey")
+
+ e1 = a.essays.create(name: "Essay")
+ assert e1.valid?, "Saving e1"
+
+ e2 = p.essays.create(name: "Essay")
+ assert e2.valid?, "Saving e2"
+ end
+
def test_validate_uniqueness_with_composed_attribute_scope
r1 = ReplyWithTitleObject.create "title" => "r1", "content" => "hello world"
assert r1.valid?, "Saving r1"