Merge pull request #3567 from consul/select_proposals_by_admins

Make proposals to be selected by administrators
This commit is contained in:
Julian Nicolas Herrero
2019-05-31 15:30:39 +02:00
committed by GitHub
34 changed files with 450 additions and 123 deletions

View File

@@ -10,6 +10,7 @@ describe "Admin proposals" do
"admin_proposal_path"
context "Index" do
scenario "Search" do
create(:proposal, title: "Make Pluto a planet again")
create(:proposal, title: "Build a monument to honour CONSUL developers")
@@ -26,6 +27,29 @@ describe "Admin proposals" do
expect(page).to have_content "Make Pluto a planet again"
expect(page).not_to have_content "Build a monument"
end
scenario "Select a proposal", :js do
proposal = create(:proposal)
visit admin_proposals_path
within("#proposal_#{proposal.id}") { click_link "Select" }
within("#proposal_#{proposal.id}") { expect(page).to have_link "Selected" }
expect(proposal.reload.selected?).to be true
end
scenario "Unselect a proposal", :js do
proposal = create(:proposal, :selected)
visit admin_proposals_path
within("#proposal_#{proposal.id}") { click_link "Selected" }
within("#proposal_#{proposal.id}") { expect(page).to have_link "Select" }
expect(proposal.reload.selected?).to be false
end
end
context "Show" do
@@ -55,5 +79,32 @@ describe "Admin proposals" do
expect(page).to have_link "Add this proposal to a poll to be voted"
end
end
scenario "Select a proposal" do
proposal = create(:proposal)
visit admin_proposal_path(proposal)
check "Mark as selected"
click_button "Update proposal"
expect(page).to have_content "Proposal updated successfully"
expect(find_field("Mark as selected")).to be_checked
expect(proposal.reload.selected?).to be true
end
scenario "Unselect a proposal" do
proposal = create(:proposal, :selected)
visit admin_proposal_path(proposal)
uncheck "Mark as selected"
click_button "Update proposal"
expect(page).to have_content "Proposal updated successfully"
expect(find_field("Mark as selected")).not_to be_checked
expect(proposal.reload.selected?).to be false
end
end
end