diff options
author | Rafael França <rafaelmfranca@gmail.com> | 2017-08-15 15:51:42 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-08-15 15:51:42 -0400 |
commit | 979277dc0349e3674daa21b691478ea7e05f3519 (patch) | |
tree | b070c881a3e24168e35f40eb0c31b41a4b1d44f3 /activerecord/test/cases | |
parent | d686d60c0237aae9ecb64ee585804bdae157b604 (diff) | |
parent | 56b870f243c1a73a1d15638500e5aa5e7ae9a1cc (diff) | |
download | rails-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.rb | 19 |
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( |