aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/associations
diff options
context:
space:
mode:
authorNikita Sokolov <faucct@gmail.com>2018-09-21 10:53:00 +0300
committerNikita Sokolov <faucct@gmail.com>2018-10-02 10:59:48 +0300
commitd634c0d82b8ebd7b019baed535d89541bc8e4f6a (patch)
tree4fcb70fe8d477d2e6bc46a551d44ae65bb1b317d /activerecord/test/cases/associations
parent8171a1b9db029f4c6d45e2df3037d53a4864acb1 (diff)
downloadrails-d634c0d82b8ebd7b019baed535d89541bc8e4f6a.tar.gz
rails-d634c0d82b8ebd7b019baed535d89541bc8e4f6a.tar.bz2
rails-d634c0d82b8ebd7b019baed535d89541bc8e4f6a.zip
ActiveRecord::Associations::Preloader should not fail to preload through missing records
Diffstat (limited to 'activerecord/test/cases/associations')
-rw-r--r--activerecord/test/cases/associations/cascaded_eager_loading_test.rb5
1 files changed, 5 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 ba2104eb26..4cbc65b6d8 100644
--- a/activerecord/test/cases/associations/cascaded_eager_loading_test.rb
+++ b/activerecord/test/cases/associations/cascaded_eager_loading_test.rb
@@ -160,6 +160,11 @@ class CascadedEagerLoadingTest < ActiveRecord::TestCase
end
end
+ def test_preload_through_missing_records
+ post = Post.where.not(author_id: Author.select(:id)).preload(author: { comments: :post }).first!
+ assert_no_queries { assert_nil post.author }
+ end
+
def test_eager_association_loading_with_recursive_cascading_four_levels_has_many_through
source = Vertex.all.merge!(includes: { sinks: { sinks: { sinks: :sinks } } }, order: "vertices.id").first
assert_equal vertices(:vertex_4), assert_no_queries { source.sinks.first.sinks.first.sinks.first }