Use a switch to toggle proposal selection

The button to select/deselect a proposal wasn't very intuitive; for
example, it wasn't obvious that pressing a button saying "selected"
would deselect the proposal.

So we're using a switch control, like we do to enable/disable features
since commit fabe97e50.
This commit is contained in:
Javi Martín
2021-08-20 02:58:10 +02:00
parent b127bd2f51
commit fec44c146c
7 changed files with 53 additions and 30 deletions

View File

@@ -11,18 +11,18 @@ describe "Admin collaborative legislation", :admin do
expect(page).to have_content(proposal.title)
expect(page).to have_content(proposal.id)
expect(page).to have_content(proposal.cached_votes_score)
expect(page).to have_content("Select")
expect(page).to have_content("No")
end
end
scenario "Selecting legislation proposals" do
proposal = create(:legislation_proposal, cached_votes_score: 10)
proposal = create(:legislation_proposal, title: "Add more accessibility tests")
visit admin_legislation_process_proposals_path(proposal.legislation_process_id)
click_button "Select"
click_button "Select Add more accessibility tests"
within "#legislation_proposal_#{proposal.id}" do
expect(page).to have_content("Selected")
expect(page).to have_content "Yes"
end
end

View File

@@ -22,31 +22,39 @@ describe "Admin proposals", :admin do
end
scenario "Select a proposal" do
proposal = create(:proposal)
proposal = create(:proposal, title: "Forbid door-to-door sales")
visit admin_proposals_path
within("#proposal_#{proposal.id}") { click_button "Select" }
within("#proposal_#{proposal.id}") do
expect(page).to have_content "No"
within("#proposal_#{proposal.id}") { expect(page).to have_button "Selected" }
click_button "Select Forbid door-to-door sales"
expect(page).to have_content "Yes"
end
refresh
within("#proposal_#{proposal.id}") { expect(page).to have_button "Selected" }
within("#proposal_#{proposal.id}") { expect(page).to have_content "Yes" }
end
scenario "Unselect a proposal" do
proposal = create(:proposal, :selected)
proposal = create(:proposal, :selected, title: "Allow door-to-door sales")
visit admin_proposals_path
within("#proposal_#{proposal.id}") { click_button "Selected" }
within("#proposal_#{proposal.id}") do
expect(page).to have_content "Yes"
within("#proposal_#{proposal.id}") { expect(page).to have_button "Select" }
click_button "Select Allow door-to-door sales"
expect(page).to have_content "No"
end
refresh
within("#proposal_#{proposal.id}") { expect(page).to have_button "Select" }
within("#proposal_#{proposal.id}") { expect(page).to have_content "No" }
end
end