hides comments posted as mod/admin from user page

This commit is contained in:
Juanjo Bazán
2015-11-12 12:22:21 +01:00
parent c258a4f3b4
commit 1ca7ca6e05
2 changed files with 27 additions and 5 deletions

View File

@@ -47,7 +47,7 @@ class UsersController < ApplicationController
end
def load_comments
@comments = Comment.where(user_id: @user.id).includes(:commentable).order(created_at: :desc).page(params[:page])
@comments = Comment.not_as_admin_or_moderator.where(user_id: @user.id).includes(:commentable).order(created_at: :desc).page(params[:page])
end
def valid_access?

View File

@@ -174,31 +174,53 @@ feature 'Users' do
@user = create(:user)
end
scenario "is not shown if no user logged in" do
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
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
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
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
feature 'Special comments' do
scenario 'comments posted as moderator are not visible in user activity' do
moderator = create(:administrator).user
comment = create(:comment, user: moderator)
moderator_comment = create(:comment, user: moderator, moderator_id: moderator.id)
visit user_path(moderator)
expect(page).to have_content(comment.body)
expect(page).to_not have_content(moderator_comment.body)
end
scenario 'comments posted as admin are not visible in user activity' do
admin = create(:administrator).user
comment = create(:comment, user: admin)
admin_comment = create(:comment, user: admin, administrator_id: admin.id)
visit user_path(admin)
expect(page).to have_content(comment.body)
expect(page).to_not have_content(admin_comment.body)
end
end
end