diff options
author | GitLab Release Tools Bot <delivery-team+release-tools@gitlab.com> | 2022-06-30 14:57:56 +0000 |
---|---|---|
committer | GitLab Release Tools Bot <delivery-team+release-tools@gitlab.com> | 2022-06-30 14:57:56 +0000 |
commit | d80373b353005e70f44eca8a3bc4a4c5cfbf0e9e (patch) | |
tree | d8fa9a8575dd4336105c1ee3d0bf30c9e7aaa71f /spec/models/user_spec.rb | |
parent | 6bea43795252f980eeee7ce67413ef440da88a31 (diff) | |
parent | 35925db62b6b7260962f22b0f946d2d490fcfe5e (diff) | |
download | gitlab-ce-d80373b353005e70f44eca8a3bc4a4c5cfbf0e9e.tar.gz |
Merge remote-tracking branch 'dev/15-1-stable' into 15-1-stable
Diffstat (limited to 'spec/models/user_spec.rb')
-rw-r--r-- | spec/models/user_spec.rb | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index dcf6b224009..abc02dd1f55 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -4057,6 +4057,41 @@ RSpec.describe User do end end + describe '#authorized_project_mirrors' do + it 'returns project mirrors where the user has access equal to or above the given level' do + guest_project = create(:project) + reporter_project = create(:project) + maintainer_project = create(:project) + + guest_group = create(:group) + reporter_group = create(:group) + maintainer_group = create(:group) + + _guest_group_project = create(:project, group: guest_group) + reporter_group_project = create(:project, group: reporter_group) + maintainer_group_project = create(:project, group: maintainer_group) + + user = create(:user) + + guest_project.add_guest(user) + reporter_project.add_reporter(user) + maintainer_project.add_maintainer(user) + + guest_group.add_guest(user) + reporter_group.add_reporter(user) + maintainer_group.add_maintainer(user) + + project_mirrors = user.authorized_project_mirrors(Gitlab::Access::REPORTER) + + expect(project_mirrors.pluck(:project_id)).to contain_exactly( + reporter_group_project.id, + maintainer_group_project.id, + reporter_project.id, + maintainer_project.id + ) + end + end + shared_context '#ci_owned_runners' do let(:user) { create(:user) } |