diff options
-rw-r--r-- | app/finders/projects_finder.rb | 2 | ||||
-rw-r--r-- | app/views/admin/labels/_label.html.haml | 2 | ||||
-rw-r--r-- | spec/finders/projects_finder_spec.rb | 16 |
3 files changed, 13 insertions, 7 deletions
diff --git a/app/finders/projects_finder.rb b/app/finders/projects_finder.rb index c7911736812..384b44a72c2 100644 --- a/app/finders/projects_finder.rb +++ b/app/finders/projects_finder.rb @@ -1,5 +1,7 @@ class ProjectsFinder < UnionFinder def execute(current_user = nil, project_ids_relation = nil) + return Project.unscoped if current_user && current_user.admin? + segments = all_projects(current_user) segments.map! { |s| s.where(id: project_ids_relation) } if project_ids_relation diff --git a/app/views/admin/labels/_label.html.haml b/app/views/admin/labels/_label.html.haml index c6d5c9edce9..a7e53362b48 100644 --- a/app/views/admin/labels/_label.html.haml +++ b/app/views/admin/labels/_label.html.haml @@ -27,7 +27,7 @@ .pull-right.hidden-xs.hidden-sm.hidden-md = link_to_label(label, type: :merge_request, css_class: 'btn btn-transparent btn-action') do - = pluralize label.open_merge_requests_count, 'merge request' + = pluralize open_merge_requests_count, 'merge request' = link_to_label(label, css_class: 'btn btn-transparent btn-action') do = pluralize open_issues_count, 'open issue' diff --git a/spec/finders/projects_finder_spec.rb b/spec/finders/projects_finder_spec.rb index 7a3a74335e8..1bbdad99ed0 100644 --- a/spec/finders/projects_finder_spec.rb +++ b/spec/finders/projects_finder_spec.rb @@ -26,14 +26,14 @@ describe ProjectsFinder do describe 'without a user' do subject { finder.execute } - it { is_expected.to eq([public_project]) } + it { is_expected.to contain_exactly(public_project) } end describe 'with a user' do subject { finder.execute(user) } describe 'without private projects' do - it { is_expected.to eq([public_project, internal_project]) } + it { is_expected.to contain_exactly(public_project, internal_project) } end describe 'with private projects' do @@ -41,18 +41,22 @@ describe ProjectsFinder do private_project.team.add_user(user, Gitlab::Access::MASTER) end - it do - is_expected.to eq([public_project, internal_project, private_project]) - end + it { is_expected.to contain_exactly(public_project, internal_project, private_project) } end end + describe 'with an admin' do + subject { finder.execute(create(:admin)) } + + it { is_expected.to contain_exactly(public_project, internal_project, private_project, shared_project) } + end + describe 'with project_ids_relation' do let(:project_ids_relation) { Project.where(id: internal_project.id) } subject { finder.execute(user, project_ids_relation) } - it { is_expected.to eq([internal_project]) } + it { is_expected.to contain_exactly(internal_project) } end end end |