diff --git a/activerecord/test/cases/associations/cascaded_eager_loading_test.rb b/activerecord/test/cases/associations/cascaded_eager_loading_test.rb index 811d91f849890..972b6eca8dbac 100644 --- a/activerecord/test/cases/associations/cascaded_eager_loading_test.rb +++ b/activerecord/test/cases/associations/cascaded_eager_loading_test.rb @@ -33,6 +33,20 @@ def test_eager_association_loading_with_cascaded_two_levels_and_one_level assert_equal 2, authors[1].categorizations.size end + def test_eager_association_loading_with_cascaded_interdependent_one_level_and_two_levels + authors_relation = Author.all.merge!(:includes=>[:comments, {:posts=>:categorizations}], :order=>"authors.id") + assert_nothing_raised do + authors_relation.to_a + end + authors = authors_relation.to_a + assert_equal 3, authors.size + assert_equal 10, authors[0].comments.size + assert_equal 1, authors[1].comments.size + assert_equal 5, authors[0].posts.size + assert_equal 3, authors[1].posts.size + assert_equal 3, authors[0].posts.collect{|post| post.categorizations.size }.inject(0){|sum,i| sum+i} + end + def test_eager_association_loading_with_hmt_does_not_table_name_collide_when_joining_associations assert_nothing_raised do Author.joins(:posts).eager_load(:comments).where(:posts => {:taggings_count => 1}).to_a