diff options
author | Alexander Koval <al3xander.koval@gmail.com> | 2019-02-27 10:28:53 +0000 |
---|---|---|
committer | Kamil TrzciĆski <ayufan@ayufan.eu> | 2019-02-27 10:28:53 +0000 |
commit | 1874aa9a3b3151ece76030d620017425e3cafc2f (patch) | |
tree | 3802218f22d4d93a721339d5cd7fcd1e18d8baf5 /spec | |
parent | d2336e026903f9ff81362fba034c02d95ac3fe81 (diff) | |
download | gitlab-ce-1874aa9a3b3151ece76030d620017425e3cafc2f.tar.gz |
Reduce code duplication
Move logic of obtaining Issuable data to separate method
Diffstat (limited to 'spec')
-rw-r--r-- | spec/lib/gitlab/issuable_metadata_spec.rb | 8 | ||||
-rw-r--r-- | spec/requests/api/merge_requests_spec.rb | 12 |
2 files changed, 16 insertions, 4 deletions
diff --git a/spec/lib/gitlab/issuable_metadata_spec.rb b/spec/lib/gitlab/issuable_metadata_spec.rb index 42635a68ee1..6ec86163233 100644 --- a/spec/lib/gitlab/issuable_metadata_spec.rb +++ b/spec/lib/gitlab/issuable_metadata_spec.rb @@ -28,12 +28,12 @@ describe Gitlab::IssuableMetadata do expect(data.count).to eq(2) expect(data[issue.id].upvotes).to eq(1) expect(data[issue.id].downvotes).to eq(0) - expect(data[issue.id].notes_count).to eq(0) + expect(data[issue.id].user_notes_count).to eq(0) expect(data[issue.id].merge_requests_count).to eq(1) expect(data[closed_issue.id].upvotes).to eq(0) expect(data[closed_issue.id].downvotes).to eq(1) - expect(data[closed_issue.id].notes_count).to eq(0) + expect(data[closed_issue.id].user_notes_count).to eq(0) expect(data[closed_issue.id].merge_requests_count).to eq(0) end end @@ -51,12 +51,12 @@ describe Gitlab::IssuableMetadata do expect(data.count).to eq(2) expect(data[merge_request.id].upvotes).to eq(1) expect(data[merge_request.id].downvotes).to eq(1) - expect(data[merge_request.id].notes_count).to eq(1) + expect(data[merge_request.id].user_notes_count).to eq(1) expect(data[merge_request.id].merge_requests_count).to eq(0) expect(data[merge_request_closed.id].upvotes).to eq(0) expect(data[merge_request_closed.id].downvotes).to eq(0) - expect(data[merge_request_closed.id].notes_count).to eq(0) + expect(data[merge_request_closed.id].user_notes_count).to eq(0) expect(data[merge_request_closed.id].merge_requests_count).to eq(0) end end diff --git a/spec/requests/api/merge_requests_spec.rb b/spec/requests/api/merge_requests_spec.rb index db56739af2f..8aba0bc8e18 100644 --- a/spec/requests/api/merge_requests_spec.rb +++ b/spec/requests/api/merge_requests_spec.rb @@ -320,6 +320,18 @@ describe API::MergeRequests do expect(json_response.first['title']).to eq merge_request_closed.title expect(json_response.first['id']).to eq merge_request_closed.id end + + it 'avoids N+1 queries' do + control = ActiveRecord::QueryRecorder.new do + get api("/projects/#{project.id}/merge_requests", user) + end.count + + create(:merge_request, author: user, assignee: user, source_project: project, target_project: project, created_at: base_time) + + expect do + get api("/projects/#{project.id}/merge_requests", user) + end.not_to exceed_query_limit(control) + end end describe "GET /groups/:id/merge_requests" do |