diff options
| author | Sean McGivern <sean@mcgivern.me.uk> | 2017-04-07 18:09:14 +0000 |
|---|---|---|
| committer | Sean McGivern <sean@mcgivern.me.uk> | 2017-04-07 18:09:14 +0000 |
| commit | 314370282c13db2f5466a0241988cf60abddb58e (patch) | |
| tree | 87a8fa4b5638487f655b1772e6672c7319f0f17c /spec/controllers/projects | |
| parent | fd16c892556a345d43a5ffc1c7bbc28b63b0a49c (diff) | |
| parent | 16a2eba52b8286533d881ec1a0454ca734d41c3f (diff) | |
| download | gitlab-ce-314370282c13db2f5466a0241988cf60abddb58e.tar.gz | |
Merge branch 'optimise-builds' into 'master'
Optimise Pipelines > Jobs index controller
Closes #27389
See merge request !10546
Diffstat (limited to 'spec/controllers/projects')
| -rw-r--r-- | spec/controllers/projects/builds_controller_spec.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/spec/controllers/projects/builds_controller_spec.rb b/spec/controllers/projects/builds_controller_spec.rb index 683667129e5..13208d21918 100644 --- a/spec/controllers/projects/builds_controller_spec.rb +++ b/spec/controllers/projects/builds_controller_spec.rb @@ -10,6 +10,39 @@ describe Projects::BuildsController do sign_in(user) end + describe 'GET index' do + context 'number of queries' do + before do + Ci::Build::AVAILABLE_STATUSES.each do |status| + create_build(status, status) + end + + RequestStore.begin! + end + + after do + RequestStore.end! + RequestStore.clear! + end + + def render + get :index, namespace_id: project.namespace, + project_id: project + end + + it "verifies number of queries" do + recorded = ActiveRecord::QueryRecorder.new { render } + expect(recorded.count).to be_within(5).of(8) + end + + def create_build(name, status) + pipeline = create(:ci_pipeline, project: project) + create(:ci_build, :tags, :triggered, :artifacts, + pipeline: pipeline, name: name, status: status) + end + end + end + describe 'GET status.json' do let(:pipeline) { create(:ci_pipeline, project: project) } let(:build) { create(:ci_build, pipeline: pipeline) } |
