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:
authorDouglas Barbosa Alexandre <dbalexandre@gmail.com>2019-08-19 23:33:07 +0300
committerDouglas Barbosa Alexandre <dbalexandre@gmail.com>2019-08-19 23:35:46 +0300
commit2067f677df69200338d8d2b78f239759fc293fee (patch)
treecf7c0f575348e3cba1fdec0b223718d8261e843a /spec/controllers/projects/starrers_controller_spec.rb
parent50ff074e79a67a14abdd9f5fcce8d6c7729b179f (diff)
Fix N+1s queries while loading users
Diffstat (limited to 'spec/controllers/projects/starrers_controller_spec.rb')
-rw-r--r--spec/controllers/projects/starrers_controller_spec.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/spec/controllers/projects/starrers_controller_spec.rb b/spec/controllers/projects/starrers_controller_spec.rb
index 7085cba08d5..5774ff7c576 100644
--- a/spec/controllers/projects/starrers_controller_spec.rb
+++ b/spec/controllers/projects/starrers_controller_spec.rb
@@ -32,6 +32,20 @@ describe Projects::StarrersController do
end
end
+ context 'N+1 queries' do
+ render_views
+
+ it 'avoids N+1s loading users', :request_store do
+ get_starrers
+
+ control_count = ActiveRecord::QueryRecorder.new { get_starrers }.count
+
+ create_list(:user, 5).each { |user| user.toggle_star(project) }
+
+ expect { get_starrers }.not_to exceed_query_limit(control_count)
+ end
+ end
+
context 'when project is public' do
before do
project.update_attribute(:visibility_level, Project::PUBLIC)