diff options
author | Sean Griffin <sean@seantheprogrammer.com> | 2016-02-11 11:33:30 -0700 |
---|---|---|
committer | Sean Griffin <sean@seantheprogrammer.com> | 2016-02-11 11:33:30 -0700 |
commit | 6fedc7d56a580d1ef7e923d95865bd99626d2f21 (patch) | |
tree | e796622611491add0c8349d3fb1b9296d92a3cc8 /activerecord/test | |
parent | 848f70e18406e3c9bd952074ce627e82a474dda7 (diff) | |
parent | 12e9e38d9a550f77936c29d14a8b8156cdfa81be (diff) | |
download | rails-6fedc7d56a580d1ef7e923d95865bd99626d2f21.tar.gz rails-6fedc7d56a580d1ef7e923d95865bd99626d2f21.tar.bz2 rails-6fedc7d56a580d1ef7e923d95865bd99626d2f21.zip |
Merge pull request #18109 from k0kubun/unscoped-joins
Allow `joins` to be unscoped
Fixes #13775
Diffstat (limited to 'activerecord/test')
-rw-r--r-- | activerecord/test/cases/scoping/default_scoping_test.rb | 12 | ||||
-rw-r--r-- | activerecord/test/models/comment.rb | 1 |
2 files changed, 13 insertions, 0 deletions
diff --git a/activerecord/test/cases/scoping/default_scoping_test.rb b/activerecord/test/cases/scoping/default_scoping_test.rb index ad5ca70f36..c918cbdef5 100644 --- a/activerecord/test/cases/scoping/default_scoping_test.rb +++ b/activerecord/test/cases/scoping/default_scoping_test.rb @@ -374,6 +374,18 @@ class DefaultScopingTest < ActiveRecord::TestCase assert_equal 10, DeveloperCalledJamis.unscoped { DeveloperCalledJamis.poor }.length end + def test_default_scope_with_joins + assert_equal Comment.where(post_id: SpecialPostWithDefaultScope.pluck(:id)).count, + Comment.joins(:special_post_with_default_scope).count + assert_equal Comment.where(post_id: Post.pluck(:id)).count, + Comment.joins(:post).count + end + + def test_unscoped_with_joins_should_not_have_default_scope + assert_equal SpecialPostWithDefaultScope.unscoped { Comment.joins(:special_post_with_default_scope).to_a }, + Comment.joins(:post).to_a + end + def test_default_scope_select_ignored_by_aggregations assert_equal DeveloperWithSelect.all.to_a.count, DeveloperWithSelect.count end diff --git a/activerecord/test/models/comment.rb b/activerecord/test/models/comment.rb index b38b17e90e..dcc5c5a310 100644 --- a/activerecord/test/models/comment.rb +++ b/activerecord/test/models/comment.rb @@ -14,6 +14,7 @@ class Comment < ActiveRecord::Base has_many :ratings belongs_to :first_post, :foreign_key => :post_id + belongs_to :special_post_with_default_scope, foreign_key: :post_id has_many :children, :class_name => 'Comment', :foreign_key => :parent_id belongs_to :parent, :class_name => 'Comment', :counter_cache => :children_count |