aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases
diff options
context:
space:
mode:
authorRafael França <rafaelmfranca@gmail.com>2017-08-15 15:51:42 -0400
committerGitHub <noreply@github.com>2017-08-15 15:51:42 -0400
commit979277dc0349e3674daa21b691478ea7e05f3519 (patch)
treeb070c881a3e24168e35f40eb0c31b41a4b1d44f3 /activerecord/test/cases
parentd686d60c0237aae9ecb64ee585804bdae157b604 (diff)
parent56b870f243c1a73a1d15638500e5aa5e7ae9a1cc (diff)
downloadrails-979277dc0349e3674daa21b691478ea7e05f3519.tar.gz
rails-979277dc0349e3674daa21b691478ea7e05f3519.tar.bz2
rails-979277dc0349e3674daa21b691478ea7e05f3519.zip
Merge pull request #30271 from kamipo/through_scope_should_not_be_affected_by_scoping
Through scope should not be affected by scoping
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r--activerecord/test/cases/associations/has_many_through_associations_test.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/activerecord/test/cases/associations/has_many_through_associations_test.rb b/activerecord/test/cases/associations/has_many_through_associations_test.rb
index 968c0eb944..f8ea51225a 100644
--- a/activerecord/test/cases/associations/has_many_through_associations_test.rb
+++ b/activerecord/test/cases/associations/has_many_through_associations_test.rb
@@ -1261,6 +1261,25 @@ class HasManyThroughAssociationsTest < ActiveRecord::TestCase
assert_equal 0, users[2].family_members.to_a.size
end
+ def test_through_scope_is_affected_by_unscoping
+ author = authors(:david)
+
+ expected = author.comments.to_a
+ FirstPost.unscoped do
+ assert_equal expected.sort_by(&:id), author.comments_on_first_posts.sort_by(&:id)
+ end
+ end
+
+ def test_through_scope_isnt_affected_by_scoping
+ author = authors(:david)
+
+ expected = author.comments_on_first_posts.to_a
+ FirstPost.where(id: 2).scoping do
+ author.comments_on_first_posts.reset
+ assert_equal expected.sort_by(&:id), author.comments_on_first_posts.sort_by(&:id)
+ end
+ end
+
def test_incorrectly_ordered_through_associations
assert_raises(ActiveRecord::HasManyThroughOrderError) do
DeveloperWithIncorrectlyOrderedHasManyThrough.create(