143 lines
3.5 KiB
Ruby
143 lines
3.5 KiB
Ruby
require 'rails_helper'
|
|
|
|
feature 'Admin activity' do
|
|
|
|
background do
|
|
@admin = create(:administrator)
|
|
login_as(@admin.user)
|
|
end
|
|
|
|
context "Proposals" do
|
|
scenario "Shows moderation activity on proposals", :js do
|
|
proposal = create(:proposal)
|
|
|
|
visit proposal_path(proposal)
|
|
|
|
within("#proposal_#{proposal.id}") do
|
|
click_link 'Hide'
|
|
end
|
|
|
|
visit admin_activity_path
|
|
|
|
within("#activity_#{Activity.last.id}") do
|
|
expect(page).to have_content(proposal.title)
|
|
expect(page).to have_content(@admin.user.username)
|
|
end
|
|
end
|
|
|
|
scenario "Shows moderation activity from moderation screen" do
|
|
proposal1 = create(:proposal)
|
|
proposal2 = create(:proposal)
|
|
proposal3 = create(:proposal)
|
|
|
|
visit moderation_proposals_path(filter: 'all')
|
|
|
|
within("#proposal_#{proposal1.id}") do
|
|
check "proposal_#{proposal1.id}_check"
|
|
end
|
|
|
|
within("#proposal_#{proposal3.id}") do
|
|
check "proposal_#{proposal3.id}_check"
|
|
end
|
|
|
|
click_on "Hide proposals"
|
|
|
|
visit admin_activity_path
|
|
|
|
|
|
expect(page).to have_content(proposal1.title)
|
|
expect(page).to_not have_content(proposal2.title)
|
|
expect(page).to have_content(proposal3.title)
|
|
end
|
|
end
|
|
|
|
context "Debates" do
|
|
scenario "Shows moderation activity on debates", :js do
|
|
debate = create(:debate)
|
|
|
|
visit debate_path(debate)
|
|
|
|
within("#debate_#{debate.id}") do
|
|
click_link 'Hide'
|
|
end
|
|
|
|
visit admin_activity_path
|
|
|
|
within("#activity_#{Activity.last.id}") do
|
|
expect(page).to have_content(debate.title)
|
|
expect(page).to have_content(@admin.user.username)
|
|
end
|
|
end
|
|
|
|
scenario "Shows moderation activity from moderation screen" do
|
|
debate1 = create(:debate)
|
|
debate2 = create(:debate)
|
|
debate3 = create(:debate)
|
|
|
|
visit moderation_debates_path(filter: 'all')
|
|
|
|
within("#debate_#{debate1.id}") do
|
|
check "debate_#{debate1.id}_check"
|
|
end
|
|
|
|
within("#debate_#{debate3.id}") do
|
|
check "debate_#{debate3.id}_check"
|
|
end
|
|
|
|
click_on "Hide debates"
|
|
|
|
visit admin_activity_path
|
|
|
|
|
|
expect(page).to have_content(debate1.title)
|
|
expect(page).to_not have_content(debate2.title)
|
|
expect(page).to have_content(debate3.title)
|
|
end
|
|
end
|
|
|
|
context "Comments" do
|
|
scenario "Shows moderation activity on comments", :js do
|
|
debate = create(:debate)
|
|
comment = create(:comment, commentable: debate)
|
|
|
|
visit debate_path(debate)
|
|
|
|
within("#comment_#{comment.id}") do
|
|
click_link 'Hide'
|
|
end
|
|
|
|
visit admin_activity_path
|
|
|
|
within("#activity_#{Activity.last.id}") do
|
|
expect(page).to have_content(comment.body)
|
|
expect(page).to have_content(@admin.user.username)
|
|
end
|
|
end
|
|
|
|
scenario "Shows moderation activity from moderation screen" do
|
|
comment1 = create(:comment, body: "SPAM")
|
|
comment2 = create(:comment)
|
|
comment3 = create(:comment, body: "Offensive!")
|
|
|
|
visit moderation_comments_path(filter: 'all')
|
|
|
|
within("#comment_#{comment1.id}") do
|
|
check "comment_#{comment1.id}_check"
|
|
end
|
|
|
|
within("#comment_#{comment3.id}") do
|
|
check "comment_#{comment3.id}_check"
|
|
end
|
|
|
|
click_on "Hide comments"
|
|
|
|
visit admin_activity_path
|
|
|
|
|
|
expect(page).to have_content(comment1.body)
|
|
expect(page).to_not have_content(comment2.body)
|
|
expect(page).to have_content(comment3.body)
|
|
end
|
|
end
|
|
|
|
end |