aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2014-01-01 14:14:45 -0200
committerRafael Mendonça França <rafaelmfranca@gmail.com>2014-01-01 14:14:45 -0200
commitb94e2dd82c3c69d923c59842b8703856a715230c (patch)
treecdc7181252921c0c1ed57b47e7cc3f56a425e7b9 /activerecord/test/cases
parente015f4e2e3e962a3713f40e91aa049d47ed7c7f2 (diff)
parentbb17c3b2105da30ef3260c3b489da85e4865eaa5 (diff)
downloadrails-b94e2dd82c3c69d923c59842b8703856a715230c.tar.gz
rails-b94e2dd82c3c69d923c59842b8703856a715230c.tar.bz2
rails-b94e2dd82c3c69d923c59842b8703856a715230c.zip
Merge pull request #13550 from vipulnsward/13437-fix
Fix for #13437 Conflicts: activerecord/CHANGELOG.md
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r--activerecord/test/cases/associations/cascaded_eager_loading_test.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/activerecord/test/cases/associations/cascaded_eager_loading_test.rb b/activerecord/test/cases/associations/cascaded_eager_loading_test.rb
index 811d91f849..904d85266e 100644
--- a/activerecord/test/cases/associations/cascaded_eager_loading_test.rb
+++ b/activerecord/test/cases/associations/cascaded_eager_loading_test.rb
@@ -174,4 +174,18 @@ class CascadedEagerLoadingTest < ActiveRecord::TestCase
sink = Vertex.all.merge!(:includes=>{:sources=>{:sources=>{:sources=>:sources}}}, :order => 'vertices.id DESC').first
assert_equal vertices(:vertex_1), assert_no_queries { sink.sources.first.sources.first.sources.first.sources.first }
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
end