summaryrefslogtreecommitdiff
path: root/spec/models/user_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/user_spec.rb')
-rw-r--r--spec/models/user_spec.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb
index 3286a891203..bbd45afadd7 100644
--- a/spec/models/user_spec.rb
+++ b/spec/models/user_spec.rb
@@ -4360,4 +4360,24 @@ describe User, :do_not_mock_admin_mode do
it { is_expected.to be expected_result }
end
end
+
+ describe '#current_highest_access_level' do
+ let_it_be(:user) { create(:user) }
+
+ context 'when no memberships exist' do
+ it 'returns nil' do
+ expect(user.current_highest_access_level).to be_nil
+ end
+ end
+
+ context 'when memberships exist' do
+ it 'returns the highest access level for non requested memberships' do
+ create(:group_member, :reporter, user_id: user.id)
+ create(:project_member, :guest, user_id: user.id)
+ create(:project_member, :maintainer, user_id: user.id, requested_at: Time.current)
+
+ expect(user.current_highest_access_level).to eq(Gitlab::Access::REPORTER)
+ end
+ end
+ end
end