diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-11-26 12:09:48 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-11-26 12:09:48 +0000 |
commit | 142890d5bbefa7b1e1b30f263f9ad67d9d496d29 (patch) | |
tree | 2c4de4059aba586f3204f983f17757dbf1643b6c /spec/helpers/users_helper_spec.rb | |
parent | bbede1e22c4dd615042a3e9c0d7e24afc83ca377 (diff) | |
download | gitlab-ce-142890d5bbefa7b1e1b30f263f9ad67d9d496d29.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/helpers/users_helper_spec.rb')
-rw-r--r-- | spec/helpers/users_helper_spec.rb | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/spec/helpers/users_helper_spec.rb b/spec/helpers/users_helper_spec.rb index 9ebbf975903..6d869c50041 100644 --- a/spec/helpers/users_helper_spec.rb +++ b/spec/helpers/users_helper_spec.rb @@ -272,4 +272,65 @@ RSpec.describe UsersHelper do end end end + + describe '#user_display_name' do + subject { helper.user_display_name(user) } + + before do + stub_current_user(nil) + end + + context 'for a confirmed user' do + let(:user) { create(:user) } + + before do + stub_profile_permission_allowed(true) + end + + it { is_expected.to eq(user.name) } + end + + context 'for an unconfirmed user' do + let(:user) { create(:user, :unconfirmed) } + + before do + stub_profile_permission_allowed(false) + end + + it { is_expected.to eq('Unconfirmed user') } + + context 'when current user is an admin' do + before do + admin_user = create(:admin) + stub_current_user(admin_user) + stub_profile_permission_allowed(true, admin_user) + end + + it { is_expected.to eq(user.name) } + end + + context 'when the current user is self' do + before do + stub_current_user(user) + stub_profile_permission_allowed(true, user) + end + + it { is_expected.to eq(user.name) } + end + end + + context 'for a blocked user' do + let(:user) { create(:user, :blocked) } + + it { is_expected.to eq('Blocked user') } + end + + def stub_current_user(user) + allow(helper).to receive(:current_user).and_return(user) + end + + def stub_profile_permission_allowed(allowed, current_user = nil) + allow(helper).to receive(:can?).with(user, :read_user_profile, current_user).and_return(allowed) + end + end end |