diff options
author | Matija Čupić <matteeyah@gmail.com> | 2019-08-19 17:28:20 +0200 |
---|---|---|
committer | Matija Čupić <matteeyah@gmail.com> | 2019-08-19 21:02:28 +0200 |
commit | ae7f5faf675848cd561687548757cee6e647ab14 (patch) | |
tree | a8d48d976b9328cab664dfea11b77b84bd8bc8c5 | |
parent | 648e5a942d4a8c66631354e05aa3f59206576dea (diff) | |
download | gitlab-ce-ae7f5faf675848cd561687548757cee6e647ab14.tar.gz |
Improve nplusone spec for PipelinesController#show
-rw-r--r-- | spec/controllers/projects/pipelines_controller_spec.rb | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/spec/controllers/projects/pipelines_controller_spec.rb b/spec/controllers/projects/pipelines_controller_spec.rb index 9a50ea79f5e..089d06e11eb 100644 --- a/spec/controllers/projects/pipelines_controller_spec.rb +++ b/spec/controllers/projects/pipelines_controller_spec.rb @@ -177,18 +177,22 @@ describe Projects::PipelinesController do end it 'does not perform N + 1 queries' do + # Set up all required variables + get_pipeline_json + control_count = ActiveRecord::QueryRecorder.new { get_pipeline_json }.count - create_build('test', 1, 'rspec 1') - create_build('test', 1, 'spinach 0') - create_build('test', 1, 'spinach 1') - create_build('test', 1, 'audit') - create_build('post deploy', 3, 'pages 1') - create_build('post deploy', 3, 'pages 2') + first_build = pipeline.builds.first + first_build.tag_list << [:hello, :world] + create(:deployment, deployable: first_build) + + second_build = pipeline.builds.second + second_build.tag_list << [:docker, :ruby] + create(:deployment, deployable: second_build) new_count = ActiveRecord::QueryRecorder.new { get_pipeline_json }.count - expect(new_count).to be_within(12).of(control_count) + expect(new_count).to be_within(1).of(control_count) end end |