diff options
author | Robert Speicher <rspeicher@gmail.com> | 2021-01-20 22:34:23 +0300 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2021-01-20 22:34:23 +0300 |
commit | 6438df3a1e0fb944485cebf07976160184697d72 (patch) | |
tree | 00b09bfd170e77ae9391b1a2f5a93ef6839f2597 /spec/controllers/dashboard | |
parent | 42bcd54d971da7ef2854b896a7b34f4ef8601067 (diff) |
Add latest changes from gitlab-org/gitlab@13-8-stable-eev13.8.0-rc42
Diffstat (limited to 'spec/controllers/dashboard')
-rw-r--r-- | spec/controllers/dashboard/projects_controller_spec.rb | 9 | ||||
-rw-r--r-- | spec/controllers/dashboard/snippets_controller_spec.rb | 19 |
2 files changed, 22 insertions, 6 deletions
diff --git a/spec/controllers/dashboard/projects_controller_spec.rb b/spec/controllers/dashboard/projects_controller_spec.rb index 2719b7c8a24..dcec8012f03 100644 --- a/spec/controllers/dashboard/projects_controller_spec.rb +++ b/spec/controllers/dashboard/projects_controller_spec.rb @@ -13,8 +13,8 @@ RSpec.describe Dashboard::ProjectsController, :aggregate_failures do end context 'user logged in' do - let_it_be(:project) { create(:project) } - let_it_be(:project2) { create(:project) } + let_it_be(:project) { create(:project, name: 'Project 1') } + let_it_be(:project2) { create(:project, name: 'Project Two') } let(:projects) { [project, project2] } before_all do @@ -36,10 +36,7 @@ RSpec.describe Dashboard::ProjectsController, :aggregate_failures do end end - it 'orders the projects by last activity by default' do - project.update!(last_repository_updated_at: 3.days.ago, last_activity_at: 3.days.ago) - project2.update!(last_repository_updated_at: 10.days.ago, last_activity_at: 10.days.ago) - + it 'orders the projects by name by default' do get :index expect(assigns(:projects)).to eq(projects) diff --git a/spec/controllers/dashboard/snippets_controller_spec.rb b/spec/controllers/dashboard/snippets_controller_spec.rb index d981f738e70..016a9f53129 100644 --- a/spec/controllers/dashboard/snippets_controller_spec.rb +++ b/spec/controllers/dashboard/snippets_controller_spec.rb @@ -28,5 +28,24 @@ RSpec.describe Dashboard::SnippetsController do end it_behaves_like 'snippets sort order' + + context 'when views are rendered' do + render_views + + it 'avoids N+1 database queries' do + # Warming call to load everything non snippet related + get(:index) + + project = create(:project, namespace: user.namespace) + create(:project_snippet, project: project, author: user) + + control_count = ActiveRecord::QueryRecorder.new { get(:index) }.count + + project = create(:project, namespace: user.namespace) + create(:project_snippet, project: project, author: user) + + expect { get(:index) }.not_to exceed_query_limit(control_count) + end + end end end |