Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-12-17 14:59:07 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-12-17 14:59:07 +0300
commit8b573c94895dc0ac0e1d9d59cf3e8745e8b539ca (patch)
tree544930fb309b30317ae9797a9683768705d664c4 /spec/helpers/users_helper_spec.rb
parent4b1de649d0168371549608993deac953eb692019 (diff)
Add latest changes from gitlab-org/gitlab@13-7-stable-eev13.7.0-rc42
Diffstat (limited to 'spec/helpers/users_helper_spec.rb')
-rw-r--r--spec/helpers/users_helper_spec.rb78
1 files changed, 78 insertions, 0 deletions
diff --git a/spec/helpers/users_helper_spec.rb b/spec/helpers/users_helper_spec.rb
index 9ebbf975903..c92c6e6e78e 100644
--- a/spec/helpers/users_helper_spec.rb
+++ b/spec/helpers/users_helper_spec.rb
@@ -272,4 +272,82 @@ 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(current_user, :read_user_profile, user).and_return(allowed)
+ end
+ end
+
+ describe '#admin_users_data_attributes' do
+ subject(:data) { helper.admin_users_data_attributes([user]) }
+
+ it 'users matches the serialized json' do
+ entity = double
+ expect_next_instance_of(Admin::UserSerializer) do |instance|
+ expect(instance).to receive(:represent).with([user]).and_return(entity)
+ end
+ expect(entity).to receive(:to_json).and_return("{\"username\":\"admin\"}")
+ expect(data[:users]).to eq "{\"username\":\"admin\"}"
+ end
+
+ it 'paths matches the schema' do
+ expect(data[:paths]).to match_schema('entities/admin_users_data_attributes_paths')
+ end
+ end
end