diff options
author | Shinya Maeda <gitlab.shinyamaeda@gmail.com> | 2017-05-16 19:33:09 +0300 |
---|---|---|
committer | Shinya Maeda <gitlab.shinyamaeda@gmail.com> | 2017-05-30 17:55:09 +0300 |
commit | e828e835e435deab8a62c7c999dca0b774e7a7d6 (patch) | |
tree | 77d0f0f8c662e8a61bec81c57fcc09b0e23483ec /spec/requests/api | |
parent | 94f7595b9a8edcb4ac8480995a067eb4fa3dec7e (diff) |
avoids N + 1 queries
Diffstat (limited to 'spec/requests/api')
-rw-r--r-- | spec/requests/api/pipeline_schedules_spec.rb | 12 |
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 |