diff options
author | Toon Claes <toon@gitlab.com> | 2017-06-22 09:35:49 +0300 |
---|---|---|
committer | Toon Claes <toon@gitlab.com> | 2017-06-23 12:15:35 +0300 |
commit | b90f1098cf42889c32eb6f12779def005f15cbae (patch) | |
tree | b36866422e1948909f5be1f26a91a84a2c3b6fbc /spec/models/user_spec.rb | |
parent | f09aa6b755043e9bba1eb7ae8f1ae45adc5df136 (diff) |
Add User#full_private_access? to check if user has Private access
In CE only the admin has access to all private groups & projects. In EE also an
auditor can have full private access.
To overcome merge conflicts, or accidental incorrect access rights, abstract
this out in `User#full_private_access?`.
`User#admin?` now only should be used for admin-only features. For private
access-related features `User#full_private_access?` should be used.
Backported from gitlab-org/gitlab-ee!2199
Diffstat (limited to 'spec/models/user_spec.rb')
-rw-r--r-- | spec/models/user_spec.rb | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 314f8781867..8e895ec6634 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -1733,6 +1733,20 @@ describe User, models: true do end end + describe '#full_private_access?' do + it 'returns false for regular user' do + user = build(:user) + + expect(user.full_private_access?).to be_falsy + end + + it 'returns true for admin user' do + user = build(:user, :admin) + + expect(user.full_private_access?).to be_truthy + end + end + describe '.ghost' do it "creates a ghost user if one isn't already present" do ghost = User.ghost |