summaryrefslogtreecommitdiff
path: root/spec/requests
diff options
context:
space:
mode:
authorShinya Maeda <gitlab.shinyamaeda@gmail.com>2017-05-17 01:33:09 +0900
committerShinya Maeda <gitlab.shinyamaeda@gmail.com>2017-05-30 23:55:09 +0900
commite828e835e435deab8a62c7c999dca0b774e7a7d6 (patch)
tree77d0f0f8c662e8a61bec81c57fcc09b0e23483ec /spec/requests
parent94f7595b9a8edcb4ac8480995a067eb4fa3dec7e (diff)
downloadgitlab-ce-e828e835e435deab8a62c7c999dca0b774e7a7d6.tar.gz
avoids N + 1 queries
Diffstat (limited to 'spec/requests')
-rw-r--r--spec/requests/api/pipeline_schedules_spec.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/spec/requests/api/pipeline_schedules_spec.rb b/spec/requests/api/pipeline_schedules_spec.rb
index 6b0310a6a2c..07b078ee6e7 100644
--- a/spec/requests/api/pipeline_schedules_spec.rb
+++ b/spec/requests/api/pipeline_schedules_spec.rb
@@ -25,6 +25,18 @@ describe API::PipelineSchedules do
expect(response).to include_pagination_headers
expect(response).to match_response_schema('pipeline_schedules')
end
+
+ it 'avoids N + 1 queries' do
+ control_count = ActiveRecord::QueryRecorder.new do
+ get api("/projects/#{project.id}/pipeline_schedules", developer)
+ end.count
+
+ create_list(:ci_pipeline_schedule, 10, project: project, owner: developer)
+
+ expect do
+ get api("/projects/#{project.id}/pipeline_schedules", developer)
+ end.not_to exceed_query_limit(control_count)
+ end
end
context 'authenticated user with invalid permissions' do