mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Address intermittent CI failure in cascaded_eager_loading_test.rb
https://buildkite.com/rails/rails/builds/61362#99165d42-172d-4ad5-bf72-b29d8cd44f3e/995-1006
This commit is contained in:
parent
72d7fa77a5
commit
f47be7bd96
1 changed files with 12 additions and 12 deletions
|
@ -37,8 +37,8 @@ class CascadedEagerLoadingTest < ActiveRecord::TestCase
|
|||
|
||||
def test_eager_association_loading_with_hmt_does_not_table_name_collide_when_joining_associations
|
||||
authors = Author.joins(:posts).eager_load(:comments).where(posts: { tags_count: 1 }).order(:id).to_a
|
||||
assert_equal 3, assert_no_queries { authors.size }
|
||||
assert_equal 10, assert_no_queries { authors[0].comments.size }
|
||||
assert_equal 3, assert_queries(0) { authors.size }
|
||||
assert_equal 10, assert_queries(0) { authors[0].comments.size }
|
||||
end
|
||||
|
||||
def test_eager_association_loading_grafts_stashed_associations_to_correct_parent
|
||||
|
@ -103,14 +103,14 @@ class CascadedEagerLoadingTest < ActiveRecord::TestCase
|
|||
firms = Firm.all.merge!(includes: { account: { firm: :account } }, order: "companies.id").to_a
|
||||
assert_equal 2, firms.size
|
||||
assert_equal firms.first.account, firms.first.account.firm.account
|
||||
assert_equal companies(:first_firm).account, assert_no_queries { firms.first.account.firm.account }
|
||||
assert_equal companies(:first_firm).account.firm.account, assert_no_queries { firms.first.account.firm.account }
|
||||
assert_equal companies(:first_firm).account, assert_queries(0) { firms.first.account.firm.account }
|
||||
assert_equal companies(:first_firm).account.firm.account, assert_queries(0) { firms.first.account.firm.account }
|
||||
end
|
||||
|
||||
def test_eager_association_loading_with_has_many_sti
|
||||
topics = Topic.all.merge!(includes: :replies, order: "topics.id").to_a
|
||||
first, second, = topics(:first).replies.size, topics(:second).replies.size
|
||||
assert_no_queries do
|
||||
assert_queries(0) do
|
||||
assert_equal first, topics[0].replies.size
|
||||
assert_equal second, topics[1].replies.size
|
||||
end
|
||||
|
@ -131,13 +131,13 @@ class CascadedEagerLoadingTest < ActiveRecord::TestCase
|
|||
replies = Reply.all.merge!(includes: :topic, order: "topics.id").to_a
|
||||
assert_includes replies, topics(:second)
|
||||
assert_not_includes replies, topics(:first)
|
||||
assert_equal topics(:first), assert_no_queries { replies.first.topic }
|
||||
assert_equal topics(:first), assert_queries(0) { replies.first.topic }
|
||||
end
|
||||
|
||||
def test_eager_association_loading_with_multiple_stis_and_order
|
||||
author = Author.all.merge!(includes: { posts: [ :special_comments, :very_special_comment ] }, order: ["authors.name", "comments.body", "very_special_comments_posts.body"], where: "posts.id = 4").first
|
||||
assert_equal authors(:david), author
|
||||
assert_no_queries do
|
||||
assert_queries(0) do
|
||||
author.posts.first.special_comments
|
||||
author.posts.first.very_special_comment
|
||||
end
|
||||
|
@ -146,7 +146,7 @@ class CascadedEagerLoadingTest < ActiveRecord::TestCase
|
|||
def test_eager_association_loading_of_stis_with_multiple_references
|
||||
authors = Author.all.merge!(includes: { posts: { special_comments: { post: [ :special_comments, :very_special_comment ] } } }, order: "comments.body, very_special_comments_posts.body", where: "posts.id = 4").to_a
|
||||
assert_equal [authors(:david)], authors
|
||||
assert_no_queries do
|
||||
assert_queries(0) do
|
||||
authors.first.posts.first.special_comments.first.post.special_comments
|
||||
authors.first.posts.first.special_comments.first.post.very_special_comment
|
||||
end
|
||||
|
@ -155,14 +155,14 @@ class CascadedEagerLoadingTest < ActiveRecord::TestCase
|
|||
def test_eager_association_loading_where_first_level_returns_nil
|
||||
authors = Author.all.merge!(includes: { post_about_thinking: :comments }, order: "authors.id DESC").to_a
|
||||
assert_equal [authors(:bob), authors(:mary), authors(:david)], authors
|
||||
assert_no_queries do
|
||||
assert_queries(0) do
|
||||
authors[2].post_about_thinking.comments.first
|
||||
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 }
|
||||
assert_queries(0) { assert_nil post.author }
|
||||
end
|
||||
|
||||
def test_eager_association_loading_with_missing_first_record
|
||||
|
@ -172,12 +172,12 @@ class CascadedEagerLoadingTest < ActiveRecord::TestCase
|
|||
|
||||
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 }
|
||||
assert_equal vertices(:vertex_4), assert_queries(0) { source.sinks.first.sinks.first.sinks.first }
|
||||
end
|
||||
|
||||
def test_eager_association_loading_with_recursive_cascading_four_levels_has_and_belongs_to_many
|
||||
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 }
|
||||
assert_equal vertices(:vertex_1), assert_queries(0) { sink.sources.first.sources.first.sources.first.sources.first }
|
||||
end
|
||||
|
||||
def test_eager_association_loading_with_cascaded_interdependent_one_level_and_two_levels
|
||||
|
|
Loading…
Reference in a new issue