Merge branch 'jprovazn-search-issues' into 'master'
Skip projects filter on issues search See merge request gitlab-org/gitlab-ce!16117
This commit is contained in:
commit
5e3103678b
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Improve search query for issues.
|
||||||
|
merge_request:
|
||||||
|
author:
|
||||||
|
type: performance
|
|
@ -82,7 +82,10 @@ module Gitlab
|
||||||
end
|
end
|
||||||
|
|
||||||
def issues
|
def issues
|
||||||
issues = IssuesFinder.new(current_user).execute.where(project_id: project_ids_relation)
|
issues = IssuesFinder.new(current_user).execute
|
||||||
|
unless default_project_filter
|
||||||
|
issues = issues.where(project_id: project_ids_relation)
|
||||||
|
end
|
||||||
|
|
||||||
issues =
|
issues =
|
||||||
if query =~ /#(\d+)\z/
|
if query =~ /#(\d+)\z/
|
||||||
|
|
|
@ -52,15 +52,36 @@ describe Gitlab::SearchResults do
|
||||||
expect(results.objects('merge_requests')).to include merge_request_2
|
expect(results.objects('merge_requests')).to include merge_request_2
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'includes project filter by default' do
|
describe '#merge_requests' do
|
||||||
expect(results).to receive(:project_ids_relation).and_call_original
|
it 'includes project filter by default' do
|
||||||
results.objects('merge_requests')
|
expect(results).to receive(:project_ids_relation).and_call_original
|
||||||
|
|
||||||
|
results.objects('merge_requests')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'it skips project filter if default project context is used' do
|
||||||
|
allow(results).to receive(:default_project_filter).and_return(true)
|
||||||
|
|
||||||
|
expect(results).not_to receive(:project_ids_relation)
|
||||||
|
|
||||||
|
results.objects('merge_requests')
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'it skips project filter if default is used' do
|
describe '#issues' do
|
||||||
allow(results).to receive(:default_project_filter).and_return(true)
|
it 'includes project filter by default' do
|
||||||
expect(results).not_to receive(:project_ids_relation)
|
expect(results).to receive(:project_ids_relation).and_call_original
|
||||||
results.objects('merge_requests')
|
|
||||||
|
results.objects('issues')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'it skips project filter if default project context is used' do
|
||||||
|
allow(results).to receive(:default_project_filter).and_return(true)
|
||||||
|
|
||||||
|
expect(results).not_to receive(:project_ids_relation)
|
||||||
|
|
||||||
|
results.objects('issues')
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue