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

@@ -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