diff options
| author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-08-21 03:10:16 +0000 |
|---|---|---|
| committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-08-21 03:10:16 +0000 |
| commit | f2eb66fef8aa8cebea25bc9e671a1f146514682f (patch) | |
| tree | ef3f5ad9803bb211acdfd9f0f013c987f43d8e97 /spec/lib | |
| parent | c7a46b04196859929e8e4c04fbcbf8490f228edf (diff) | |
| download | gitlab-ce-f2eb66fef8aa8cebea25bc9e671a1f146514682f.tar.gz | |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/lib')
| -rw-r--r-- | spec/lib/gitlab/danger/changelog_spec.rb | 72 | ||||
| -rw-r--r-- | spec/lib/gitlab/group_search_results_spec.rb | 31 | ||||
| -rw-r--r-- | spec/lib/gitlab/project_search_results_spec.rb | 275 | ||||
| -rw-r--r-- | spec/lib/gitlab/search_results_spec.rb | 25 |
4 files changed, 198 insertions, 205 deletions
diff --git a/spec/lib/gitlab/danger/changelog_spec.rb b/spec/lib/gitlab/danger/changelog_spec.rb index 3c67e9ca8ea..2da60f4f8bd 100644 --- a/spec/lib/gitlab/danger/changelog_spec.rb +++ b/spec/lib/gitlab/danger/changelog_spec.rb @@ -16,20 +16,47 @@ RSpec.describe Gitlab::Danger::Changelog do let(:fake_gitlab) { double('fake-gitlab', mr_labels: mr_labels, mr_json: mr_json) } let(:changes_by_category) { nil } + let(:sanitize_mr_title) { nil } let(:ee?) { false } - let(:fake_helper) { double('fake-helper', changes_by_category: changes_by_category, ee?: ee?) } + let(:fake_helper) { double('fake-helper', changes_by_category: changes_by_category, sanitize_mr_title: sanitize_mr_title, ee?: ee?) } let(:fake_danger) { new_fake_danger.include(described_class) } subject(:changelog) { fake_danger.new(git: fake_git, gitlab: fake_gitlab, helper: fake_helper) } - describe '#needed?' do + describe '#required?' do + subject { changelog.required? } + + context 'added files contain a migration' do + [ + 'db/migrate/20200000000000_new_migration.rb', + 'db/post_migrate/20200000000000_new_migration.rb' + ].each do |file_path| + let(:added_files) { [file_path] } + + it { is_expected.to be_truthy } + end + end + + context 'added files do not contain a migration' do + [ + 'app/models/model.rb', + 'app/assets/javascripts/file.js' + ].each do |file_path| + let(:added_files) { [file_path] } + + it { is_expected.to be_falsey } + end + end + end + + describe '#optional?' do let(:category_with_changelog) { :backend } let(:label_with_changelog) { 'frontend' } let(:category_without_changelog) { Gitlab::Danger::Changelog::NO_CHANGELOG_CATEGORIES.first } let(:label_without_changelog) { Gitlab::Danger::Changelog::NO_CHANGELOG_LABELS.first } - subject { changelog.needed? } + subject { changelog.optional? } context 'when MR contains only categories requiring no changelog' do let(:changes_by_category) { { category_without_changelog => nil } } @@ -121,4 +148,43 @@ RSpec.describe Gitlab::Danger::Changelog do it { is_expected.to be_falsy } end end + + describe '#modified_text' do + let(:sanitize_mr_title) { 'Fake Title' } + let(:mr_json) { { "iid" => 1234, "title" => sanitize_mr_title } } + + subject { changelog.modified_text } + + it do + expect(subject).to include('CHANGELOG.md was edited') + expect(subject).to include('bin/changelog -m 1234 "Fake Title"') + expect(subject).to include('bin/changelog --ee -m 1234 "Fake Title"') + end + end + + describe '#required_text' do + let(:sanitize_mr_title) { 'Fake Title' } + let(:mr_json) { { "iid" => 1234, "title" => sanitize_mr_title } } + + subject { changelog.required_text } + + it do + expect(subject).to include('CHANGELOG missing') + expect(subject).to include('bin/changelog -m 1234 "Fake Title"') + expect(subject).not_to include('--ee') + end + end + + describe 'optional_text' do + let(:sanitize_mr_title) { 'Fake Title' } + let(:mr_json) { { "iid" => 1234, "title" => sanitize_mr_title } } + + subject { changelog.optional_text } + + it do + expect(subject).to include('CHANGELOG missing') + expect(subject).to include('bin/changelog -m 1234 "Fake Title"') + expect(subject).to include('bin/changelog --ee -m 1234 "Fake Title"') + end + end end diff --git a/spec/lib/gitlab/group_search_results_spec.rb b/spec/lib/gitlab/group_search_results_spec.rb index b6a3c8b5e76..d96599c6a10 100644 --- a/spec/lib/gitlab/group_search_results_spec.rb +++ b/spec/lib/gitlab/group_search_results_spec.rb @@ -4,9 +4,12 @@ require 'spec_helper' RSpec.describe Gitlab::GroupSearchResults do let(:user) { create(:user) } + let(:group) { create(:group) } + + subject(:results) { described_class.new(user, 'gob', anything, group: group) } describe 'user search' do - let(:group) { create(:group) } + subject(:objects) { results.objects('users') } it 'returns the users belonging to the group matching the search query' do user1 = create(:user, username: 'gob_bluth') @@ -17,9 +20,7 @@ RSpec.describe Gitlab::GroupSearchResults do create(:user, username: 'gob_2018') - result = described_class.new(user, anything, group, 'gob').objects('users') - - expect(result).to eq [user1] + is_expected.to eq [user1] end it 'returns the user belonging to the subgroup matching the search query' do @@ -29,9 +30,7 @@ RSpec.describe Gitlab::GroupSearchResults do create(:user, username: 'gob_2018') - result = described_class.new(user, anything, group, 'gob').objects('users') - - expect(result).to eq [user1] + is_expected.to eq [user1] end it 'returns the user belonging to the parent group matching the search query' do @@ -41,9 +40,7 @@ RSpec.describe Gitlab::GroupSearchResults do create(:user, username: 'gob_2018') - result = described_class.new(user, anything, group, 'gob').objects('users') - - expect(result).to eq [user1] + is_expected.to eq [user1] end it 'does not return the user belonging to the private subgroup' do @@ -53,9 +50,7 @@ RSpec.describe Gitlab::GroupSearchResults do create(:user, username: 'gob_2018') - result = described_class.new(user, anything, group, 'gob').objects('users') - - expect(result).to eq [] + is_expected.to be_empty end it 'does not return the user belonging to an unrelated group' do @@ -63,15 +58,13 @@ RSpec.describe Gitlab::GroupSearchResults do unrelated_group = create(:group) create(:group_member, :developer, user: user, group: unrelated_group) - result = described_class.new(user, anything, group, 'gob').objects('users') - - expect(result).to eq [] + is_expected.to be_empty end + end + describe "#issuable_params" do it 'sets include_subgroups flag by default' do - result = described_class.new(user, anything, group, 'gob') - - expect(result.issuable_params[:include_subgroups]).to eq(true) + expect(results.issuable_params[:include_subgroups]).to eq(true) end end end diff --git a/spec/lib/gitlab/project_search_results_spec.rb b/spec/lib/gitlab/project_search_results_spec.rb index 6e3c60b58dc..ea66363469a 100644 --- a/spec/lib/gitlab/project_search_results_spec.rb +++ b/spec/lib/gitlab/project_search_results_spec.rb @@ -8,28 +8,30 @@ RSpec.describe Gitlab::ProjectSearchResults do let(:user) { create(:user) } let(:project) { create(:project) } let(:query) { 'hello world' } + let(:repository_ref) { nil } - describe 'initialize with empty ref' do - let(:results) { described_class.new(user, project, query, '') } + subject(:results) { described_class.new(user, query, project: project, repository_ref: repository_ref) } - it { expect(results.project).to eq(project) } - it { expect(results.query).to eq('hello world') } - end + context 'with a repository_ref' do + context 'when empty' do + let(:repository_ref) { '' } + + it { expect(results.project).to eq(project) } + it { expect(results.query).to eq('hello world') } + end - describe 'initialize with ref' do - let(:ref) { 'refs/heads/test' } - let(:results) { described_class.new(user, project, query, ref) } + context 'when set' do + let(:repository_ref) { 'refs/heads/test' } - it { expect(results.project).to eq(project) } - it { expect(results.repository_ref).to eq(ref) } - it { expect(results.query).to eq('hello world') } + it { expect(results.project).to eq(project) } + it { expect(results.repository_ref).to eq(repository_ref) } + it { expect(results.query).to eq('hello world') } + end end describe '#formatted_count' do using RSpec::Parameterized::TableSyntax - let(:results) { described_class.new(user, project, query) } - where(:scope, :count_method, :expected) do 'blobs' | :limited_blobs_count | max_limited_count 'notes' | :limited_notes_count | max_limited_count @@ -63,7 +65,8 @@ RSpec.describe Gitlab::ProjectSearchResults do shared_examples 'general blob search' do |entity_type, blob_type| let(:query) { 'files' } - subject(:results) { described_class.new(user, project, query).objects(blob_type) } + + subject(:objects) { results.objects(blob_type) } context "when #{entity_type} is disabled" do let(:project) { disabled_project } @@ -94,17 +97,17 @@ RSpec.describe Gitlab::ProjectSearchResults do end it 'finds by name' do - expect(results.map(&:path)).to include(expected_file_by_path) + expect(objects.map(&:path)).to include(expected_file_by_path) end it "loads all blobs for path matches in single batch" do expect(Gitlab::Git::Blob).to receive(:batch).once.and_call_original - results.map(&:data) + expect { objects.map(&:data) }.not_to raise_error end it 'finds by content' do - blob = results.select { |result| result.path == expected_file_by_content }.flatten.last + blob = objects.select { |result| result.path == expected_file_by_content }.flatten.last expect(blob.path).to eq(expected_file_by_content) end @@ -115,7 +118,7 @@ RSpec.describe Gitlab::ProjectSearchResults do let(:file_finder) { double } let(:project_branch) { 'project_branch' } - subject(:results) { described_class.new(user, project, query, repository_ref).objects(blob_type) } + subject(:objects) { results.objects(blob_type) } before do allow(entity).to receive(:default_branch).and_return(project_branch) @@ -128,7 +131,7 @@ RSpec.describe Gitlab::ProjectSearchResults do it 'uses it' do expect(Gitlab::FileFinder).to receive(:new).with(project, repository_ref).and_return(file_finder) - results + expect { objects }.not_to raise_error end end @@ -138,7 +141,7 @@ RSpec.describe Gitlab::ProjectSearchResults do it "uses #{entity_type} repository default reference" do expect(Gitlab::FileFinder).to receive(:new).with(project, project_branch).and_return(file_finder) - results + expect { objects }.not_to raise_error end end @@ -148,7 +151,7 @@ RSpec.describe Gitlab::ProjectSearchResults do it "uses #{entity_type} repository default reference" do expect(Gitlab::FileFinder).to receive(:new).with(project, project_branch).and_return(file_finder) - results + expect { objects }.not_to raise_error end end end @@ -157,7 +160,6 @@ RSpec.describe Gitlab::ProjectSearchResults do let(:per_page) { 20 } let(:count_limit) { described_class::COUNT_LIMIT } let(:file_finder) { instance_double('Gitlab::FileFinder') } - let(:results) { described_class.new(user, project, query) } let(:repository_ref) { 'master' } before do @@ -228,139 +230,73 @@ RSpec.describe Gitlab::ProjectSearchResults do context 'return type' do let(:blobs) { [Gitlab::Search::FoundBlob.new(project: project)] } - let(:results) { described_class.new(user, project, "Files", per_page: 20) } + let(:query) { "Files" } + + subject(:objects) { results.objects('wiki_blobs', per_page: 20) } before do allow(results).to receive(:wiki_blobs).and_return(blobs) end it 'returns list of FoundWikiPage type object' do - objects = results.objects('wiki_blobs') - expect(objects).to be_present expect(objects).to all(be_a(Gitlab::Search::FoundWikiPage)) end end end - it 'does not list issues on private projects' do - issue = create(:issue, project: project) - - results = described_class.new(user, project, issue.title) - - expect(results.objects('issues')).not_to include issue - end - - describe 'confidential issues' do - let(:query) { 'issue' } - let(:author) { create(:user) } - let(:assignee) { create(:user) } - let(:non_member) { create(:user) } - let(:member) { create(:user) } - let(:admin) { create(:admin) } - let(:project) { create(:project, :internal) } - let!(:issue) { create(:issue, project: project, title: 'Issue 1') } - let!(:security_issue_1) { create(:issue, :confidential, project: project, title: 'Security issue 1', author: author) } - let!(:security_issue_2) { create(:issue, :confidential, title: 'Security issue 2', project: project, assignees: [assignee]) } - - it 'does not list project confidential issues for non project members' do - results = described_class.new(non_member, project, query) - issues = results.objects('issues') - - expect(issues).to include issue - expect(issues).not_to include security_issue_1 - expect(issues).not_to include security_issue_2 - expect(results.limited_issues_count).to eq 1 - end - - it 'does not list project confidential issues for project members with guest role' do - project.add_guest(member) - - results = described_class.new(member, project, query) - issues = results.objects('issues') - - expect(issues).to include issue - expect(issues).not_to include security_issue_1 - expect(issues).not_to include security_issue_2 - expect(results.limited_issues_count).to eq 1 - end - - it 'lists project confidential issues for author' do - results = described_class.new(author, project, query) - issues = results.objects('issues') - - expect(issues).to include issue - expect(issues).to include security_issue_1 - expect(issues).not_to include security_issue_2 - expect(results.limited_issues_count).to eq 2 - end - - it 'lists project confidential issues for assignee' do - results = described_class.new(assignee, project, query) - issues = results.objects('issues') + describe 'issues search' do + let(:issue) { create(:issue, project: project) } + let(:query) { issue.title } - expect(issues).to include issue - expect(issues).not_to include security_issue_1 - expect(issues).to include security_issue_2 - expect(results.limited_issues_count).to eq 2 - end - - it 'lists project confidential issues for project members' do - project.add_developer(member) + subject(:objects) { results.objects('issues') } - results = described_class.new(member, project, query) - issues = results.objects('issues') - - expect(issues).to include issue - expect(issues).to include security_issue_1 - expect(issues).to include security_issue_2 - expect(results.limited_issues_count).to eq 3 + it 'does not list issues on private projects' do + expect(objects).not_to include issue end - it 'lists all project issues for admin' do - results = described_class.new(admin, project, query) - issues = results.objects('issues') - - expect(issues).to include issue - expect(issues).to include security_issue_1 - expect(issues).to include security_issue_2 - expect(results.limited_issues_count).to eq 3 + describe "confidential issues" do + include_examples "access restricted confidential issues" end end describe 'notes search' do - it 'lists notes' do - project = create(:project, :public) - note = create(:note, project: project) + let(:query) { note.note } - results = described_class.new(user, project, note.note) + subject(:notes) { results.objects('notes') } - expect(results.objects('notes')).to include note - end + context 'with a public project' do + let(:project) { create(:project, :public) } + let(:note) { create(:note, project: project) } - it "doesn't list issue notes when access is restricted" do - project = create(:project, :public, :issues_private) - note = create(:note_on_issue, project: project) + it 'lists notes' do + expect(notes).to include note + end + end - results = described_class.new(user, project, note.note) + context 'with private issues' do + let(:project) { create(:project, :public, :issues_private) } + let(:note) { create(:note_on_issue, project: project) } - expect(results.objects('notes')).not_to include note + it "doesn't list issue notes when access is restricted" do + expect(notes).not_to include note + end end - it "doesn't list merge_request notes when access is restricted" do - project = create(:project, :public, :merge_requests_private) - note = create(:note_on_merge_request, project: project) + context 'with private merge requests' do + let(:project) { create(:project, :public, :merge_requests_private) } + let(:note) { create(:note_on_merge_request, project: project) } - results = described_class.new(user, project, note.note) - - expect(results.objects('notes')).not_to include note + it "doesn't list merge_request notes when access is restricted" do + expect(notes).not_to include note + end end end describe '#limited_notes_count' do let(:project) { create(:project, :public) } let(:note) { create(:note_on_issue, project: project) } - let(:results) { described_class.new(user, project, note.note) } + let(:query) { note.note } context 'when count_limit is lower than total amount' do before do @@ -375,11 +311,6 @@ RSpec.describe Gitlab::ProjectSearchResults do context 'when count_limit is higher than total amount' do it 'calls note finder multiple times to get the limited amount of notes' do - project = create(:project, :public) - note = create(:note_on_issue, project: project) - - results = described_class.new(user, project, note.note) - expect(results).to receive(:notes_finder).exactly(4).times.and_call_original expect(results.limited_notes_count).to eq(1) end @@ -395,7 +326,7 @@ RSpec.describe Gitlab::ProjectSearchResults do .with(anything, anything, anything, described_class::COUNT_LIMIT) .and_call_original - described_class.new(user, project, '.').commits_count + results.commits_count end end @@ -406,19 +337,23 @@ RSpec.describe Gitlab::ProjectSearchResults do # * commit # shared_examples 'access restricted commits' do + let(:query) { search_phrase } + context 'when project is internal' do let(:project) { create(:project, :internal, :repository) } - it 'does not search if user is not authenticated' do - commits = described_class.new(nil, project, search_phrase).objects('commits') + subject(:commits) { results.objects('commits') } - expect(commits).to be_empty + it 'searches if user is authenticated' do + expect(commits).to contain_exactly commit end - it 'searches if user is authenticated' do - commits = described_class.new(user, project, search_phrase).objects('commits') + context 'when the user is not authenticated' do + let(:user) { nil } - expect(commits).to contain_exactly commit + it 'does not search' do + expect(commits).to be_empty + end end end @@ -437,29 +372,35 @@ RSpec.describe Gitlab::ProjectSearchResults do user end - it 'does not show commit to stranger' do - commits = described_class.new(nil, private_project, search_phrase).objects('commits') + let(:project) { private_project } + + subject(:commits) { results.objects('commits') } - expect(commits).to be_empty + context 'when the user is not authenticated' do + let(:user) { nil } + + it 'does not show commit to stranger' do + expect(commits).to be_empty + end end context 'team access' do - it 'shows commit to creator' do - commits = described_class.new(creator, private_project, search_phrase).objects('commits') + context 'when the user is the creator' do + let(:user) { creator } - expect(commits).to contain_exactly commit + it { expect(commits).to contain_exactly commit } end - it 'shows commit to master' do - commits = described_class.new(team_master, private_project, search_phrase).objects('commits') + context 'when the user is a master' do + let(:user) { team_master } - expect(commits).to contain_exactly commit + it { expect(commits).to contain_exactly commit } end - it 'shows commit to reporter' do - commits = described_class.new(team_reporter, private_project, search_phrase).objects('commits') + context 'when the user is a reporter' do + let(:user) { team_reporter } - expect(commits).to contain_exactly commit + it { expect(commits).to contain_exactly commit } end end end @@ -471,9 +412,7 @@ RSpec.describe Gitlab::ProjectSearchResults do it 'returns the correct results for each page' do expect(results_page(1)).to contain_exactly(commit('b83d6e391c22777fca1ed3012fce84f633d7fed0')) - expect(results_page(2)).to contain_exactly(commit('498214de67004b1da3d820901307bed2a68a8ef6')) - expect(results_page(3)).to contain_exactly(commit('1b12f15a11fc6e62177bef08f47bc7b5ce50b141')) end @@ -506,7 +445,7 @@ RSpec.describe Gitlab::ProjectSearchResults do end def results_page(page) - described_class.new(user, project, '.').objects('commits', per_page: 1, page: page) + described_class.new(user, '.', project: project).objects('commits', per_page: 1, page: page) end def commit(hash) @@ -518,26 +457,27 @@ RSpec.describe Gitlab::ProjectSearchResults do let(:project) { create(:project, :public, :repository) } let(:commit) { project.repository.commit('59e29889be61e6e0e5e223bfa9ac2721d31605b8') } let(:message) { 'Sorry, I did a mistake' } + let(:query) { message } - it 'finds commit by message' do - commits = described_class.new(user, project, message).objects('commits') + subject(:commits) { results.objects('commits') } + it 'finds commit by message' do expect(commits).to contain_exactly commit end - it 'handles when no commit match' do - commits = described_class.new(user, project, 'not really an existing description').objects('commits') + context 'when there are not hits' do + let(:query) { 'not really an existing description' } - expect(commits).to be_empty + it 'handles when no commit match' do + expect(commits).to be_empty + end end context 'when repository_ref is provided' do - let(:message) { 'Feature added' } + let(:query) { 'Feature added' } let(:repository_ref) { 'feature' } it 'searches in the specified ref' do - commits = described_class.new(user, project, message, repository_ref).objects('commits') - # This commit is unique to the feature branch expect(commits).to contain_exactly(project.repository.commit('0b4bc9a49b562e85de7cc9e834518ea6828729b9')) end @@ -557,14 +497,14 @@ RSpec.describe Gitlab::ProjectSearchResults do commit_hashes.each do |type, commit_hash| it "shows commit by #{type} hash id" do - commits = described_class.new(user, project, commit_hash).objects('commits') + commits = described_class.new(user, commit_hash, project: project).objects('commits') expect(commits).to contain_exactly commit end end it 'handles not existing commit hash correctly' do - commits = described_class.new(user, project, 'deadbeef').objects('commits') + commits = described_class.new(user, 'deadbeef', project: project).objects('commits') expect(commits).to be_empty end @@ -577,9 +517,13 @@ RSpec.describe Gitlab::ProjectSearchResults do end describe 'user search' do - it 'returns the user belonging to the project matching the search query' do - project = create(:project) + let(:query) { 'gob' } + let(:group) { create(:group) } + let(:project) { create(:project, namespace: group) } + + subject(:objects) { results.objects('users') } + it 'returns the user belonging to the project matching the search query' do user1 = create(:user, username: 'gob_bluth') create(:project_member, :developer, user: user1, project: project) @@ -588,23 +532,16 @@ RSpec.describe Gitlab::ProjectSearchResults do create(:user, username: 'gob_2018') - result = described_class.new(user, project, 'gob').objects('users') - - expect(result).to eq [user1] + expect(objects).to contain_exactly(user1) end it 'returns the user belonging to the group matching the search query' do - group = create(:group) - project = create(:project, namespace: group) - user1 = create(:user, username: 'gob_bluth') create(:group_member, :developer, user: user1, group: group) create(:user, username: 'gob_2018') - result = described_class.new(user, project, 'gob').objects('users') - - expect(result).to eq [user1] + expect(objects).to contain_exactly(user1) end end end diff --git a/spec/lib/gitlab/search_results_spec.rb b/spec/lib/gitlab/search_results_spec.rb index 61fa61566cd..c5563027a84 100644 --- a/spec/lib/gitlab/search_results_spec.rb +++ b/spec/lib/gitlab/search_results_spec.rb @@ -9,13 +9,10 @@ RSpec.describe Gitlab::SearchResults do let(:user) { create(:user) } let!(:project) { create(:project, name: 'foo') } let!(:issue) { create(:issue, project: project, title: 'foo') } - - let!(:merge_request) do - create(:merge_request, source_project: project, title: 'foo') - end - + let!(:merge_request) { create(:merge_request, source_project: project, title: 'foo') } let!(:milestone) { create(:milestone, project: project, title: 'foo') } - let(:results) { described_class.new(user, Project.all, 'foo') } + + subject(:results) { described_class.new(user, 'foo', Project.all) } context 'as a user with access' do before do @@ -133,7 +130,7 @@ RSpec.describe Gitlab::SearchResults do forked_project = fork_project(project, user) merge_request_2 = create(:merge_request, target_project: project, source_project: forked_project, title: 'foo') - results = described_class.new(user, Project.where(id: forked_project.id), 'foo') + results = described_class.new(user, 'foo', Project.where(id: forked_project.id)) expect(results.objects('merge_requests')).to include merge_request_2 end @@ -214,7 +211,7 @@ RSpec.describe Gitlab::SearchResults do let!(:security_issue_5) { create(:issue, :confidential, project: project_4, title: 'Security issue 5') } it 'does not list confidential issues for non project members' do - results = described_class.new(non_member, limit_projects, query) + results = described_class.new(non_member, query, limit_projects) issues = results.objects('issues') expect(issues).to include issue @@ -230,7 +227,7 @@ RSpec.describe Gitlab::SearchResults do project_1.add_guest(member) project_2.add_guest(member) - results = described_class.new(member, limit_projects, query) + results = described_class.new(member, query, limit_projects) issues = results.objects('issues') expect(issues).to include issue @@ -243,7 +240,7 @@ RSpec.describe Gitlab::SearchResults do end it 'lists confidential issues for author' do - results = described_class.new(author, limit_projects, query) + results = described_class.new(author, query, limit_projects) issues = results.objects('issues') expect(issues).to include issue @@ -256,7 +253,7 @@ RSpec.describe Gitlab::SearchResults do end it 'lists confidential issues for assignee' do - results = described_class.new(assignee, limit_projects, query) + results = described_class.new(assignee, query, limit_projects) issues = results.objects('issues') expect(issues).to include issue @@ -272,7 +269,7 @@ RSpec.describe Gitlab::SearchResults do project_1.add_developer(member) project_2.add_developer(member) - results = described_class.new(member, limit_projects, query) + results = described_class.new(member, query, limit_projects) issues = results.objects('issues') expect(issues).to include issue @@ -285,7 +282,7 @@ RSpec.describe Gitlab::SearchResults do end it 'lists all issues for admin' do - results = described_class.new(admin, limit_projects, query) + results = described_class.new(admin, query, limit_projects) issues = results.objects('issues') expect(issues).to include issue @@ -323,7 +320,7 @@ RSpec.describe Gitlab::SearchResults do # Global search scope takes user authorized projects, internal projects and public projects. limit_projects = ProjectsFinder.new(current_user: user).execute - milestones = described_class.new(user, limit_projects, 'milestone').objects('milestones') + milestones = described_class.new(user, 'milestone', limit_projects).objects('milestones') expect(milestones).to match_array([milestone_1, milestone_2, milestone_3]) end |
