78 lines
1.9 KiB
Ruby
78 lines
1.9 KiB
Ruby
require 'rails_helper'
|
|
|
|
feature 'Moderate users' do
|
|
|
|
scenario 'Hide' do
|
|
citizen = create(:user)
|
|
moderator = create(:moderator)
|
|
|
|
debate1 = create(:debate, author: citizen)
|
|
debate2 = create(:debate, author: citizen)
|
|
debate3 = create(:debate)
|
|
comment3 = create(:comment, user: citizen, commentable: debate3, body: 'SPAMMER')
|
|
|
|
login_as(moderator.user)
|
|
visit debates_path
|
|
|
|
expect(page).to have_content(debate1.title)
|
|
expect(page).to have_content(debate2.title)
|
|
expect(page).to have_content(debate3.title)
|
|
|
|
visit debate_path(debate3)
|
|
|
|
expect(page).to have_content(comment3.body)
|
|
|
|
visit debate_path(debate1)
|
|
|
|
within("#debate_#{debate1.id}") do
|
|
click_link 'Hide author'
|
|
end
|
|
|
|
expect(current_path).to eq(debates_path)
|
|
expect(page).to_not have_content(debate1.title)
|
|
expect(page).to_not have_content(debate2.title)
|
|
expect(page).to have_content(debate3.title)
|
|
|
|
visit debate_path(debate3)
|
|
|
|
expect(page).to_not have_content(comment3.body)
|
|
|
|
click_link("Sign out")
|
|
|
|
visit root_path
|
|
|
|
click_link 'Sign in'
|
|
fill_in 'user_email', with: citizen.email
|
|
fill_in 'user_password', with: citizen.password
|
|
click_button 'Enter'
|
|
|
|
expect(page).to have_content 'Invalid email or password'
|
|
expect(current_path).to eq(new_user_session_path)
|
|
end
|
|
|
|
scenario 'Search and ban users' do
|
|
citizen = create(:user, username: 'Wanda Maximoff')
|
|
moderator = create(:moderator)
|
|
|
|
login_as(moderator.user)
|
|
|
|
visit moderation_users_path
|
|
|
|
expect(page).not_to have_content citizen.name
|
|
fill_in 'name_or_email', with: 'Wanda'
|
|
click_button 'Search'
|
|
|
|
within(".admin-list") do
|
|
expect(page).to have_content citizen.name
|
|
expect(page).not_to have_content "Blocked"
|
|
click_link 'Block'
|
|
end
|
|
|
|
within(".admin-list") do
|
|
expect(page).to have_content citizen.name
|
|
expect(page).to have_content "Blocked"
|
|
end
|
|
end
|
|
|
|
end
|