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_login', with: citizen.email fill_in 'user_password', with: citizen.password click_button 'Enter' expect(page).to have_content 'Invalid login 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("#moderation_users") do expect(page).to have_content citizen.name expect(page).not_to have_content "Blocked" click_link 'Block' end within("#moderation_users") do expect(page).to have_content citizen.name expect(page).to have_content "Blocked" end end end