diff options
Diffstat (limited to 'spec/helpers/search_helper_spec.rb')
-rw-r--r-- | spec/helpers/search_helper_spec.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/spec/helpers/search_helper_spec.rb b/spec/helpers/search_helper_spec.rb index 34af3ce7e5e..208fba4a7f9 100644 --- a/spec/helpers/search_helper_spec.rb +++ b/spec/helpers/search_helper_spec.rb @@ -104,6 +104,37 @@ RSpec.describe SearchHelper do }) end + it 'includes the users recently viewed issues with the exact same name', :aggregate_failures do + recent_issues = instance_double(::Gitlab::Search::RecentIssues) + expect(::Gitlab::Search::RecentIssues).to receive(:new).with(user: user).and_return(recent_issues) + project1 = create(:project, namespace: user.namespace) + project2 = create(:project, namespace: user.namespace) + issue1 = create(:issue, title: 'issue same_name', project: project1) + issue2 = create(:issue, title: 'issue same_name', project: project2) + + expect(recent_issues).to receive(:search).with('the search term').and_return(Issue.id_in_ordered([issue1.id, issue2.id])) + + results = search_autocomplete_opts("the search term") + + expect(results.count).to eq(2) + + expect(results[0]).to include({ + category: 'Recent issues', + id: issue1.id, + label: 'issue same_name', + url: Gitlab::Routing.url_helpers.project_issue_path(issue1.project, issue1), + avatar_url: '' # This project didn't have an avatar so set this to '' + }) + + expect(results[1]).to include({ + category: 'Recent issues', + id: issue2.id, + label: 'issue same_name', + url: Gitlab::Routing.url_helpers.project_issue_path(issue2.project, issue2), + avatar_url: '' # This project didn't have an avatar so set this to '' + }) + end + it 'includes the users recently viewed merge requests', :aggregate_failures do recent_merge_requests = instance_double(::Gitlab::Search::RecentMergeRequests) expect(::Gitlab::Search::RecentMergeRequests).to receive(:new).with(user: user).and_return(recent_merge_requests) |