diff options
Diffstat (limited to 'spec/controllers/dashboard/snippets_controller_spec.rb')
-rw-r--r-- | spec/controllers/dashboard/snippets_controller_spec.rb | 19 |
1 files changed, 19 insertions, 0 deletions
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 |