hides comments posted as mod/admin from user page
This commit is contained in:
@@ -47,7 +47,7 @@ class UsersController < ApplicationController
|
|||||||
end
|
end
|
||||||
|
|
||||||
def load_comments
|
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
|
end
|
||||||
|
|
||||||
def valid_access?
|
def valid_access?
|
||||||
|
|||||||
@@ -174,31 +174,53 @@ feature 'Users' do
|
|||||||
@user = create(:user)
|
@user = create(:user)
|
||||||
end
|
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)
|
visit user_path(@user)
|
||||||
expect(page).to_not have_content(@user.email)
|
expect(page).to_not have_content(@user.email)
|
||||||
end
|
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))
|
login_as(create(:user))
|
||||||
visit user_path(@user)
|
visit user_path(@user)
|
||||||
expect(page).to_not have_content(@user.email)
|
expect(page).to_not have_content(@user.email)
|
||||||
end
|
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)
|
login_as(create(:moderator).user)
|
||||||
visit user_path(@user)
|
visit user_path(@user)
|
||||||
expect(page).to_not have_content(@user.email)
|
expect(page).to_not have_content(@user.email)
|
||||||
end
|
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)
|
login_as(create(:administrator).user)
|
||||||
visit user_path(@user)
|
visit user_path(@user)
|
||||||
expect(page).to have_content(@user.email)
|
expect(page).to have_content(@user.email)
|
||||||
end
|
end
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
end
|
end
|
||||||
Reference in New Issue
Block a user