diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb
index cbd635a28..068c17b71 100644
--- a/app/helpers/users_helper.rb
+++ b/app/helpers/users_helper.rb
@@ -35,4 +35,8 @@ module UsersHelper
end
end
+ def current_administrator?
+ current_user && current_user.administrator?
+ end
+
end
\ No newline at end of file
diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb
index 2be31b272..4ced1e14d 100644
--- a/app/views/users/show.html.erb
+++ b/app/views/users/show.html.erb
@@ -2,7 +2,13 @@
-
<%= avatar_image(@user, seed: @user.id, size: 60) %> <%= @user.name %>
+
+ <%= avatar_image(@user, seed: @user.id, size: 60) %>
+ <%= @user.name %>
+ <% if current_administrator? %>
+ <%= @user.email %>
+ <% end %>
+
<% if @user.public_activity || @authorized_current_user %>
diff --git a/spec/features/users_spec.rb b/spec/features/users_spec.rb
index 4b90e737b..74d30b4ce 100644
--- a/spec/features/users_spec.rb
+++ b/spec/features/users_spec.rb
@@ -167,6 +167,38 @@ feature 'Users' do
visit user_path(@user)
expect(page).to_not have_content('activity list private')
end
+
+ feature 'User email' do
+
+ background do
+ @user = create(:user)
+ end
+
+ scenario "is not shown if no user logged in" do
+ visit user_path(@user)
+ expect(page).to_not have_content(@user.email)
+ end
+
+ scenario "is not shown if logged in user is a regular user" do
+ login_as(create(:user))
+ visit user_path(@user)
+ expect(page).to_not have_content(@user.email)
+ end
+
+ scenario "is not shown if logged in user is moderator" do
+ login_as(create(:moderator).user)
+ visit user_path(@user)
+ expect(page).to_not have_content(@user.email)
+ end
+
+ scenario "is shown if logged in user is admin" do
+ login_as(create(:administrator).user)
+ visit user_path(@user)
+ expect(page).to have_content(@user.email)
+ end
+
+ end
+
end
end
\ No newline at end of file