Make moderation tests easier to read
- reuse aria-labels instead of DOM selectors when checking moderation checkboxes - drop redundant 'first' in the within
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
require "rails_helper"
|
require "rails_helper"
|
||||||
|
|
||||||
describe "Admin activity" do
|
describe "Admin activity" do
|
||||||
let(:admin) { create(:administrator) }
|
let(:admin) { create(:administrator, user: create(:user, username: "Admin Smith")) }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
login_as(admin.user)
|
login_as(admin.user)
|
||||||
@@ -9,135 +9,117 @@ describe "Admin activity" do
|
|||||||
|
|
||||||
context "Proposals" do
|
context "Proposals" do
|
||||||
scenario "Shows moderation activity on proposals" do
|
scenario "Shows moderation activity on proposals" do
|
||||||
proposal = create(:proposal, description: "<p>Description with html tag</p>")
|
proposal = create(:proposal, description: "<p>Description with html tag</p>", title: "Sample proposal")
|
||||||
|
|
||||||
visit proposal_path(proposal)
|
visit proposal_path(proposal)
|
||||||
|
|
||||||
within("#proposal_#{proposal.id}") do
|
accept_confirm('Are you sure? Hide "Sample proposal"') { click_button "Hide" }
|
||||||
accept_confirm("Are you sure? Hide \"#{proposal.title}\"") { click_button "Hide" }
|
|
||||||
end
|
|
||||||
expect(page).to have_css("#proposal_#{proposal.id}.faded")
|
|
||||||
|
|
||||||
visit admin_activity_path
|
expect(page).to have_css "#proposal_#{proposal.id}.faded"
|
||||||
|
|
||||||
within first("tbody tr") do
|
visit admin_activity_path(filter: "on_proposals")
|
||||||
expect(page).to have_content(proposal.title)
|
|
||||||
expect(page).to have_content("Hidden")
|
within "tbody tr" do
|
||||||
expect(page).to have_content(admin.user.username)
|
expect(page).to have_content "Sample proposal"
|
||||||
expect(page).to have_css("p", exact_text: "Description with html tag")
|
expect(page).to have_content "Hidden"
|
||||||
|
expect(page).to have_content "Admin Smith"
|
||||||
|
expect(page).to have_css "p", exact_text: "Description with html tag"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "Shows moderation activity from moderation screen" do
|
scenario "Shows moderation activity from moderation screen" do
|
||||||
proposal1 = create(:proposal)
|
create(:proposal, title: "Sample proposal 1")
|
||||||
proposal2 = create(:proposal)
|
create(:proposal, title: "Sample proposal 2")
|
||||||
proposal3 = create(:proposal)
|
create(:proposal, title: "Sample proposal 3")
|
||||||
|
|
||||||
visit moderation_proposals_path(filter: "all")
|
visit moderation_proposals_path(filter: "all")
|
||||||
|
|
||||||
within("#proposal_#{proposal1.id}") do
|
check "Sample proposal 1"
|
||||||
check "proposal_#{proposal1.id}_check"
|
check "Sample proposal 3"
|
||||||
end
|
|
||||||
|
|
||||||
within("#proposal_#{proposal3.id}") do
|
|
||||||
check "proposal_#{proposal3.id}_check"
|
|
||||||
end
|
|
||||||
|
|
||||||
accept_confirm("Are you sure? Hide proposals") { click_button "Hide proposals" }
|
accept_confirm("Are you sure? Hide proposals") { click_button "Hide proposals" }
|
||||||
|
|
||||||
expect(page).not_to have_content(proposal1.title)
|
expect(page).not_to have_content "Sample proposal 1"
|
||||||
|
|
||||||
visit admin_activity_path
|
visit admin_activity_path(filter: "on_proposals")
|
||||||
|
|
||||||
expect(page).to have_content(proposal1.title)
|
expect(page).to have_content "Sample proposal 1"
|
||||||
expect(page).not_to have_content(proposal2.title)
|
expect(page).not_to have_content "Sample proposal 2"
|
||||||
expect(page).to have_content(proposal3.title)
|
expect(page).to have_content "Sample proposal 3"
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "Shows admin restores" do
|
scenario "Shows admin restores" do
|
||||||
proposal = create(:proposal, :hidden)
|
create(:proposal, :hidden, title: "Sample proposal")
|
||||||
|
|
||||||
visit admin_hidden_proposals_path
|
visit admin_hidden_proposals_path
|
||||||
|
|
||||||
within("#proposal_#{proposal.id}") do
|
accept_confirm("Are you sure? Restore") { click_button "Restore" }
|
||||||
accept_confirm("Are you sure? Restore") { click_button "Restore" }
|
|
||||||
end
|
|
||||||
|
|
||||||
expect(page).to have_content "There are no hidden proposals"
|
expect(page).to have_content "There are no hidden proposals"
|
||||||
|
|
||||||
visit admin_activity_path
|
visit admin_activity_path(filter: "on_proposals")
|
||||||
|
|
||||||
within first("tbody tr") do
|
within "tbody tr" do
|
||||||
expect(page).to have_content(proposal.title)
|
expect(page).to have_content "Sample proposal"
|
||||||
expect(page).to have_content("Restored")
|
expect(page).to have_content "Restored"
|
||||||
expect(page).to have_content(admin.user.username)
|
expect(page).to have_content "Admin Smith"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context "Debates" do
|
context "Debates" do
|
||||||
scenario "Shows moderation activity on debates" do
|
scenario "Shows moderation activity on debates" do
|
||||||
debate = create(:debate)
|
debate = create(:debate, title: "Sample debate")
|
||||||
|
|
||||||
visit debate_path(debate)
|
visit debate_path(debate)
|
||||||
|
|
||||||
within("#debate_#{debate.id}") do
|
accept_confirm('Are you sure? Hide "Sample debate"') { click_button "Hide" }
|
||||||
accept_confirm("Are you sure? Hide \"#{debate.title}\"") { click_button "Hide" }
|
|
||||||
end
|
|
||||||
expect(page).to have_css("#debate_#{debate.id}.faded")
|
|
||||||
|
|
||||||
visit admin_activity_path
|
expect(page).to have_css "#debate_#{debate.id}.faded"
|
||||||
|
|
||||||
within first("tbody tr") do
|
visit admin_activity_path(filter: "on_debates")
|
||||||
expect(page).to have_content(debate.title)
|
|
||||||
expect(page).to have_content("Hidden")
|
within "tbody tr" do
|
||||||
expect(page).to have_content(admin.user.username)
|
expect(page).to have_content "Sample debate"
|
||||||
|
expect(page).to have_content "Hidden"
|
||||||
|
expect(page).to have_content "Admin Smith"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "Shows moderation activity from moderation screen" do
|
scenario "Shows moderation activity from moderation screen" do
|
||||||
debate1 = create(:debate)
|
create(:debate, title: "Sample debate 1")
|
||||||
debate2 = create(:debate)
|
create(:debate, title: "Sample debate 2")
|
||||||
debate3 = create(:debate)
|
create(:debate, title: "Sample debate 3")
|
||||||
|
|
||||||
visit moderation_debates_path(filter: "all")
|
visit moderation_debates_path(filter: "all")
|
||||||
|
|
||||||
within("#debate_#{debate1.id}") do
|
check "Sample debate 1"
|
||||||
check "debate_#{debate1.id}_check"
|
check "Sample debate 3"
|
||||||
end
|
|
||||||
|
|
||||||
within("#debate_#{debate3.id}") do
|
|
||||||
check "debate_#{debate3.id}_check"
|
|
||||||
end
|
|
||||||
|
|
||||||
accept_confirm("Are you sure? Hide debates") { click_button "Hide debates" }
|
accept_confirm("Are you sure? Hide debates") { click_button "Hide debates" }
|
||||||
|
|
||||||
expect(page).not_to have_content(debate1.title)
|
expect(page).not_to have_content "Sample debate 1"
|
||||||
|
|
||||||
visit admin_activity_path
|
visit admin_activity_path(filter: "on_debates")
|
||||||
|
|
||||||
expect(page).to have_content(debate1.title)
|
expect(page).to have_content "Sample debate 1"
|
||||||
expect(page).not_to have_content(debate2.title)
|
expect(page).not_to have_content "Sample debate 2"
|
||||||
expect(page).to have_content(debate3.title)
|
expect(page).to have_content "Sample debate 3"
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "Shows admin restores" do
|
scenario "Shows admin restores" do
|
||||||
debate = create(:debate, :hidden)
|
create(:debate, :hidden, title: "Sample debate")
|
||||||
|
|
||||||
visit admin_hidden_debates_path
|
visit admin_hidden_debates_path
|
||||||
|
|
||||||
within("#debate_#{debate.id}") do
|
accept_confirm("Are you sure? Restore") { click_button "Restore" }
|
||||||
accept_confirm("Are you sure? Restore") { click_button "Restore" }
|
|
||||||
end
|
|
||||||
|
|
||||||
expect(page).to have_content "There are no hidden debates"
|
expect(page).to have_content "There are no hidden debates"
|
||||||
|
|
||||||
visit admin_activity_path
|
visit admin_activity_path(filter: "on_debates")
|
||||||
|
|
||||||
within first("tbody tr") do
|
within "tbody tr" do
|
||||||
expect(page).to have_content(debate.title)
|
expect(page).to have_content "Sample debate"
|
||||||
expect(page).to have_content("Restored")
|
expect(page).to have_content "Restored"
|
||||||
expect(page).to have_content(admin.user.username)
|
expect(page).to have_content "Admin Smith"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -145,186 +127,159 @@ describe "Admin activity" do
|
|||||||
context "Comments" do
|
context "Comments" do
|
||||||
scenario "Shows moderation activity on comments" do
|
scenario "Shows moderation activity on comments" do
|
||||||
debate = create(:debate)
|
debate = create(:debate)
|
||||||
comment = create(:comment, commentable: debate)
|
comment = create(:comment, commentable: debate, body: "Sample comment")
|
||||||
|
|
||||||
visit debate_path(debate)
|
visit debate_path(debate)
|
||||||
|
|
||||||
within("#comment_#{comment.id}") do
|
within "#comment_#{comment.id}" do
|
||||||
accept_confirm("Are you sure? Hide \"#{comment.body}\"") { click_button "Hide" }
|
accept_confirm('Are you sure? Hide "Sample comment"') { click_button "Hide" }
|
||||||
expect(page).to have_css(".faded")
|
expect(page).to have_css ".faded"
|
||||||
end
|
end
|
||||||
|
|
||||||
visit admin_activity_path
|
visit admin_activity_path(filter: "on_comments")
|
||||||
|
|
||||||
within first("tbody tr") do
|
within "tbody tr" do
|
||||||
expect(page).to have_content(comment.body)
|
expect(page).to have_content "Sample comment"
|
||||||
expect(page).to have_content("Hidden")
|
expect(page).to have_content "Hidden"
|
||||||
expect(page).to have_content(admin.user.username)
|
expect(page).to have_content "Admin Smith"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "Shows moderation activity from moderation screen" do
|
scenario "Shows moderation activity from moderation screen" do
|
||||||
comment1 = create(:comment, body: "SPAM")
|
comment1 = create(:comment, body: "SPAM")
|
||||||
comment2 = create(:comment)
|
create(:comment, body: "Not Spam")
|
||||||
comment3 = create(:comment, body: "Offensive!")
|
comment3 = create(:comment, body: "Offensive!")
|
||||||
|
|
||||||
visit moderation_comments_path(filter: "all")
|
visit moderation_comments_path(filter: "all")
|
||||||
|
|
||||||
within("#comment_#{comment1.id}") do
|
check "comment_#{comment1.id}_check"
|
||||||
check "comment_#{comment1.id}_check"
|
check "comment_#{comment3.id}_check"
|
||||||
end
|
|
||||||
|
|
||||||
within("#comment_#{comment3.id}") do
|
|
||||||
check "comment_#{comment3.id}_check"
|
|
||||||
end
|
|
||||||
|
|
||||||
accept_confirm("Are you sure? Hide comments") { click_button "Hide comments" }
|
accept_confirm("Are you sure? Hide comments") { click_button "Hide comments" }
|
||||||
|
|
||||||
expect(page).not_to have_content(comment1.body)
|
expect(page).not_to have_content "SPAM"
|
||||||
|
|
||||||
visit admin_activity_path
|
visit admin_activity_path(filter: "on_comments")
|
||||||
|
|
||||||
expect(page).to have_content(comment1.body)
|
expect(page).to have_content "SPAM"
|
||||||
expect(page).not_to have_content(comment2.body)
|
expect(page).not_to have_content "Not Spam"
|
||||||
expect(page).to have_content(comment3.body)
|
expect(page).to have_content "Offensive!"
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "Shows admin restores" do
|
scenario "Shows admin restores" do
|
||||||
comment = create(:comment, :hidden)
|
create(:comment, :hidden, body: "Sample comment")
|
||||||
|
|
||||||
visit admin_hidden_comments_path
|
visit admin_hidden_comments_path
|
||||||
|
|
||||||
within("#comment_#{comment.id}") do
|
accept_confirm("Are you sure? Restore") { click_button "Restore" }
|
||||||
accept_confirm("Are you sure? Restore") { click_button "Restore" }
|
|
||||||
end
|
|
||||||
|
|
||||||
expect(page).to have_content "There are no hidden comments"
|
expect(page).to have_content "There are no hidden comments"
|
||||||
|
|
||||||
visit admin_activity_path
|
visit admin_activity_path(filter: "on_comments")
|
||||||
|
|
||||||
within first("tbody tr") do
|
within "tbody tr" do
|
||||||
expect(page).to have_content(comment.body)
|
expect(page).to have_content "Sample comment"
|
||||||
expect(page).to have_content("Restored")
|
expect(page).to have_content "Restored"
|
||||||
expect(page).to have_content(admin.user.username)
|
expect(page).to have_content "Admin Smith"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context "User" do
|
context "User" do
|
||||||
scenario "Shows moderation activity on users" do
|
scenario "Shows moderation activity on users" do
|
||||||
proposal = create(:proposal, author: create(:user, username: "Sam"))
|
proposal = create(:proposal, author: create(:user, username: "Sam", email: "sam@example.com"))
|
||||||
|
|
||||||
visit proposal_path(proposal)
|
visit proposal_path(proposal)
|
||||||
|
|
||||||
within("#proposal_#{proposal.id}") do
|
accept_confirm('Are you sure? This will hide the user "Sam" and all their contents.') do
|
||||||
accept_confirm("Are you sure? This will hide the user \"Sam\" and all their contents.") do
|
click_button "Block author"
|
||||||
click_button "Block author"
|
|
||||||
end
|
|
||||||
|
|
||||||
expect(page).to have_current_path(proposals_path)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
visit admin_activity_path
|
expect(page).to have_current_path proposals_path
|
||||||
|
|
||||||
within first("tbody tr") do
|
visit admin_activity_path(filter: "on_users")
|
||||||
|
|
||||||
|
within "tbody tr" do
|
||||||
expect(page).to have_content("Blocked")
|
expect(page).to have_content("Blocked")
|
||||||
expect(page).to have_content(proposal.author.username)
|
expect(page).to have_content "Sam"
|
||||||
expect(page).to have_content(proposal.author.email)
|
expect(page).to have_content "sam@example.com"
|
||||||
expect(page).to have_content(admin.user.username)
|
expect(page).to have_content "Admin Smith"
|
||||||
expect(page).not_to have_content(proposal.title)
|
expect(page).not_to have_content proposal.title
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "Shows moderation activity from moderation screen" do
|
scenario "Shows moderation activity from moderation screen" do
|
||||||
user = create(:user)
|
create(:user, username: "Sam", email: "sam@example.com")
|
||||||
|
|
||||||
visit moderation_users_path(search: user.username)
|
visit moderation_users_path(search: "Sam")
|
||||||
|
|
||||||
within("#moderation_users") do
|
accept_confirm { click_button "Block" }
|
||||||
accept_confirm { click_button "Block" }
|
|
||||||
end
|
|
||||||
|
|
||||||
expect(page).to have_content "The user has been blocked"
|
expect(page).to have_content "The user has been blocked"
|
||||||
|
|
||||||
visit admin_activity_path
|
visit admin_activity_path(filter: "on_users")
|
||||||
|
|
||||||
within first("tbody tr") do
|
within "tbody tr" do
|
||||||
expect(page).to have_content(user.username)
|
expect(page).to have_content "Sam"
|
||||||
expect(page).to have_content(user.email)
|
expect(page).to have_content "sam@example.com"
|
||||||
expect(page).to have_content(admin.user.username)
|
expect(page).to have_content "Admin Smith"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "Shows moderation activity from proposals moderation screen" do
|
scenario "Shows moderation activity from proposals moderation screen" do
|
||||||
proposal1 = create(:proposal)
|
proposal1 = create(:proposal, title: "Sample proposal 1")
|
||||||
proposal2 = create(:proposal)
|
proposal2 = create(:proposal, title: "Sample proposal 2")
|
||||||
proposal3 = create(:proposal)
|
proposal3 = create(:proposal, title: "Sample proposal 3")
|
||||||
|
|
||||||
visit moderation_proposals_path(filter: "all")
|
visit moderation_proposals_path(filter: "all")
|
||||||
|
|
||||||
within("#proposal_#{proposal1.id}") do
|
check "Sample proposal 1"
|
||||||
check "proposal_#{proposal1.id}_check"
|
check "Sample proposal 3"
|
||||||
end
|
|
||||||
|
|
||||||
within("#proposal_#{proposal3.id}") do
|
|
||||||
check "proposal_#{proposal3.id}_check"
|
|
||||||
end
|
|
||||||
|
|
||||||
accept_confirm("Are you sure? Block authors") { click_button "Block authors" }
|
accept_confirm("Are you sure? Block authors") { click_button "Block authors" }
|
||||||
|
|
||||||
expect(page).not_to have_content(proposal1.author.username)
|
expect(page).not_to have_content "Sample proposal 1"
|
||||||
|
|
||||||
visit admin_activity_path
|
visit admin_activity_path(filter: "on_users")
|
||||||
|
|
||||||
expect(page).to have_content(proposal1.author.username)
|
expect(page).to have_content proposal1.author.username
|
||||||
expect(page).to have_content(proposal1.author.email)
|
expect(page).to have_content proposal1.author.email
|
||||||
expect(page).to have_content(proposal3.author.username)
|
expect(page).to have_content proposal3.author.username
|
||||||
expect(page).to have_content(proposal3.author.email)
|
expect(page).to have_content proposal3.author.email
|
||||||
expect(page).not_to have_content(proposal2.author.username)
|
expect(page).not_to have_content proposal2.author.username
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "Shows moderation activity from debates moderation screen" do
|
scenario "Shows moderation activity from debates moderation screen" do
|
||||||
debate1 = create(:debate)
|
debate1 = create(:debate, title: "Sample debate 1")
|
||||||
debate2 = create(:debate)
|
debate2 = create(:debate, title: "Sample debate 2")
|
||||||
debate3 = create(:debate)
|
debate3 = create(:debate, title: "Sample debate 3")
|
||||||
|
|
||||||
visit moderation_debates_path(filter: "all")
|
visit moderation_debates_path(filter: "all")
|
||||||
|
|
||||||
within("#debate_#{debate1.id}") do
|
check "Sample debate 1"
|
||||||
check "debate_#{debate1.id}_check"
|
check "Sample debate 3"
|
||||||
end
|
|
||||||
|
|
||||||
within("#debate_#{debate3.id}") do
|
|
||||||
check "debate_#{debate3.id}_check"
|
|
||||||
end
|
|
||||||
|
|
||||||
accept_confirm("Are you sure? Block authors") { click_button "Block authors" }
|
accept_confirm("Are you sure? Block authors") { click_button "Block authors" }
|
||||||
|
|
||||||
expect(page).not_to have_content(debate1.author.username)
|
expect(page).not_to have_content debate1.author.username
|
||||||
|
|
||||||
visit admin_activity_path
|
visit admin_activity_path
|
||||||
|
|
||||||
expect(page).to have_content(debate1.author.username)
|
expect(page).to have_content debate1.author.username
|
||||||
expect(page).to have_content(debate1.author.email)
|
expect(page).to have_content debate1.author.email
|
||||||
expect(page).to have_content(debate3.author.username)
|
expect(page).to have_content debate3.author.username
|
||||||
expect(page).to have_content(debate3.author.email)
|
expect(page).to have_content debate3.author.email
|
||||||
expect(page).not_to have_content(debate2.author.username)
|
expect(page).not_to have_content debate2.author.username
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "Shows moderation activity from comments moderation screen" do
|
scenario "Shows moderation activity from comments moderation screen" do
|
||||||
comment1 = create(:comment, body: "SPAM")
|
comment1 = create(:comment)
|
||||||
comment2 = create(:comment)
|
comment2 = create(:comment)
|
||||||
comment3 = create(:comment, body: "Offensive!")
|
comment3 = create(:comment)
|
||||||
|
|
||||||
visit moderation_comments_path(filter: "all")
|
visit moderation_comments_path(filter: "all")
|
||||||
|
|
||||||
within("#comment_#{comment1.id}") do
|
check "comment_#{comment1.id}_check"
|
||||||
check "comment_#{comment1.id}_check"
|
check "comment_#{comment3.id}_check"
|
||||||
end
|
|
||||||
|
|
||||||
within("#comment_#{comment3.id}") do
|
|
||||||
check "comment_#{comment3.id}_check"
|
|
||||||
end
|
|
||||||
|
|
||||||
accept_confirm("Are you sure? Block authors") { click_button "Block authors" }
|
accept_confirm("Are you sure? Block authors") { click_button "Block authors" }
|
||||||
|
|
||||||
@@ -332,31 +287,29 @@ describe "Admin activity" do
|
|||||||
|
|
||||||
visit admin_activity_path
|
visit admin_activity_path
|
||||||
|
|
||||||
expect(page).to have_content(comment1.author.username)
|
expect(page).to have_content comment1.author.username
|
||||||
expect(page).to have_content(comment1.author.email)
|
expect(page).to have_content comment1.author.email
|
||||||
expect(page).to have_content(comment3.author.username)
|
expect(page).to have_content comment3.author.username
|
||||||
expect(page).to have_content(comment3.author.email)
|
expect(page).to have_content comment3.author.email
|
||||||
expect(page).not_to have_content(comment2.author.username)
|
expect(page).not_to have_content comment2.author.username
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "Shows admin restores" do
|
scenario "Shows admin restores" do
|
||||||
user = create(:user, :hidden)
|
create(:user, :hidden, username: "Sam", email: "sam@example.com")
|
||||||
|
|
||||||
visit admin_hidden_users_path
|
visit admin_hidden_users_path
|
||||||
|
|
||||||
within("#user_#{user.id}") do
|
accept_confirm("Are you sure? Restore") { click_button "Restore" }
|
||||||
accept_confirm("Are you sure? Restore") { click_button "Restore" }
|
|
||||||
end
|
|
||||||
|
|
||||||
expect(page).to have_content "There are no hidden users"
|
expect(page).to have_content "There are no hidden users"
|
||||||
|
|
||||||
visit admin_activity_path
|
visit admin_activity_path(filter: "on_users")
|
||||||
|
|
||||||
within first("tbody tr") do
|
within "tbody tr" do
|
||||||
expect(page).to have_content(user.username)
|
expect(page).to have_content "Sam"
|
||||||
expect(page).to have_content(user.email)
|
expect(page).to have_content "sam@example.com"
|
||||||
expect(page).to have_content("Restored")
|
expect(page).to have_content "Restored"
|
||||||
expect(page).to have_content(admin.user.username)
|
expect(page).to have_content "Admin Smith"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -369,83 +322,70 @@ describe "Admin activity" do
|
|||||||
body: "Proposal A Notification Body")
|
body: "Proposal A Notification Body")
|
||||||
proposal_notification.moderate_system_email(admin.user)
|
proposal_notification.moderate_system_email(admin.user)
|
||||||
|
|
||||||
visit admin_activity_path
|
visit admin_activity_path(filter: "on_system_emails")
|
||||||
|
|
||||||
within first("tbody tr") do
|
within "tbody tr" do
|
||||||
expect(page).to have_content(proposal_notification.title)
|
expect(page).to have_content "Proposal A Title"
|
||||||
expect(page).to have_content("Hidden")
|
expect(page).to have_content "Hidden"
|
||||||
expect(page).to have_content(admin.user.username)
|
expect(page).to have_content "Admin Smith"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context "Budget investments" do
|
context "Budget investments" do
|
||||||
scenario "Shows moderation activity on budget investments" do
|
scenario "Shows moderation activity on budget investments" do
|
||||||
investment = create(:budget_investment, description: "<p>Investment description</p>")
|
investment = create(:budget_investment, title: "Sample investment")
|
||||||
|
|
||||||
visit budget_investment_path(investment.budget, investment)
|
visit budget_investment_path(investment.budget, investment)
|
||||||
|
|
||||||
within "#budget_investment_#{investment.id}" do
|
accept_confirm('Are you sure? Hide "Sample investment"') { click_button "Hide" }
|
||||||
accept_confirm("Are you sure? Hide") { click_button "Hide" }
|
|
||||||
end
|
|
||||||
|
|
||||||
expect(page).to have_css "#budget_investment_#{investment.id}.faded"
|
expect(page).to have_css "#budget_investment_#{investment.id}.faded"
|
||||||
|
|
||||||
visit admin_activity_path
|
visit admin_activity_path(filter: "on_budget_investments")
|
||||||
|
|
||||||
within first("tbody tr") do
|
within "tbody tr" do
|
||||||
expect(page).to have_content(investment.title)
|
expect(page).to have_content "Sample investment"
|
||||||
expect(page).to have_content("Hidden")
|
expect(page).to have_content "Hidden"
|
||||||
expect(page).to have_content(admin.user.username)
|
expect(page).to have_content "Admin Smith"
|
||||||
expect(page).to have_css("p", exact_text: "Investment description")
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "Shows moderation activity from moderation screen" do
|
scenario "Shows moderation activity from moderation screen" do
|
||||||
investment1 = create(:budget_investment)
|
create(:budget_investment, title: "Sample investment 1")
|
||||||
investment2 = create(:budget_investment)
|
create(:budget_investment, title: "Sample investment 2")
|
||||||
investment3 = create(:budget_investment)
|
create(:budget_investment, title: "Sample investment 3")
|
||||||
|
|
||||||
visit moderation_budget_investments_path(filter: "all")
|
visit moderation_budget_investments_path(filter: "all")
|
||||||
|
|
||||||
within "#investment_#{investment1.id}" do
|
check "Sample investment 1"
|
||||||
check "budget_investment_#{investment1.id}_check"
|
check "Sample investment 3"
|
||||||
end
|
accept_confirm("Are you sure? Hide budget investments") { click_button "Hide budget investments" }
|
||||||
|
|
||||||
within "#investment_#{investment3.id}" do
|
expect(page).not_to have_content "Sample investment 1"
|
||||||
check "budget_investment_#{investment3.id}_check"
|
|
||||||
end
|
|
||||||
|
|
||||||
accept_confirm("Are you sure? Hide budget investments") do
|
|
||||||
click_button "Hide budget investments"
|
|
||||||
end
|
|
||||||
|
|
||||||
expect(page).not_to have_content(investment1.title)
|
|
||||||
|
|
||||||
visit admin_activity_path(filter: "on_budget_investments")
|
visit admin_activity_path(filter: "on_budget_investments")
|
||||||
|
|
||||||
expect(page).to have_content(investment1.title)
|
expect(page).to have_content "Sample investment 1"
|
||||||
expect(page).not_to have_content(investment2.title)
|
expect(page).not_to have_content "Sample investment 2"
|
||||||
expect(page).to have_content(investment3.title)
|
expect(page).to have_content "Sample investment 3"
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "Shows admin restores" do
|
scenario "Shows admin restores" do
|
||||||
investment = create(:budget_investment, :hidden)
|
create(:budget_investment, :hidden, title: "Sample investment")
|
||||||
|
|
||||||
visit admin_hidden_budget_investments_path
|
visit admin_hidden_budget_investments_path
|
||||||
|
|
||||||
within "#budget_investment_#{investment.id}" do
|
accept_confirm("Are you sure? Restore") { click_button "Restore" }
|
||||||
accept_confirm("Are you sure? Restore") { click_button "Restore" }
|
|
||||||
end
|
|
||||||
|
|
||||||
expect(page).to have_content "There are no hidden budget investments"
|
expect(page).to have_content "There are no hidden budget investments"
|
||||||
|
|
||||||
visit admin_activity_path
|
visit admin_activity_path(filter: "on_budget_investments")
|
||||||
|
|
||||||
within first("tbody tr") do
|
within "tbody tr" do
|
||||||
expect(page).to have_content(investment.title)
|
expect(page).to have_content "Sample investment"
|
||||||
expect(page).to have_content("Restored")
|
expect(page).to have_content "Restored"
|
||||||
expect(page).to have_content(admin.user.username)
|
expect(page).to have_content "Admin Smith"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user