Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/graphql/resolvers/design_management/versions_resolver_spec.rb')
-rw-r--r--spec/graphql/resolvers/design_management/versions_resolver_spec.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/spec/graphql/resolvers/design_management/versions_resolver_spec.rb b/spec/graphql/resolvers/design_management/versions_resolver_spec.rb
index 23d4d86c79a..2c9c3a47650 100644
--- a/spec/graphql/resolvers/design_management/versions_resolver_spec.rb
+++ b/spec/graphql/resolvers/design_management/versions_resolver_spec.rb
@@ -41,6 +41,20 @@ RSpec.describe Resolvers::DesignManagement::VersionsResolver do
it 'returns the ordered versions' do
expect(result.to_a).to eq(all_versions)
end
+
+ context 'loading associations' do
+ it 'prevents N+1 queries when loading author' do
+ control_count = ActiveRecord::QueryRecorder.new(skip_cached: false) do
+ resolve_versions(object).items.map(&:author)
+ end.count
+
+ create_list(:design_version, 3, issue: issue)
+
+ expect do
+ resolve_versions(object).items.map(&:author)
+ end.not_to exceed_all_query_limit(control_count)
+ end
+ end
end
context 'when constrained' do