Use a button to toggle investment selection
As mentioned in commit 5311daadf, using buttons for non-GET requests has
several advantages over using links.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<% if can?(:toggle_selection, investment) %>
|
||||
<%= link_to text, path, method: :patch, remote: true, class: html_class %>
|
||||
<%= button_to text, path, method: :patch, remote: true, class: html_class %>
|
||||
<% elsif selected? %>
|
||||
<%= selected_text %>
|
||||
<% end %>
|
||||
|
||||
@@ -15,22 +15,22 @@ describe Admin::BudgetInvestments::ToggleSelectionComponent, :admin do
|
||||
expect(page).not_to be_rendered
|
||||
end
|
||||
|
||||
it "renders a link to select unselected evaluated investments" do
|
||||
it "renders a button to select unselected evaluated investments" do
|
||||
valuation_finished_investment = create(:budget_investment, :feasible, :finished, budget: budget)
|
||||
|
||||
render_inline Admin::BudgetInvestments::ToggleSelectionComponent.new(valuation_finished_investment)
|
||||
|
||||
expect(page).to have_link "Select"
|
||||
expect(page).not_to have_link "Selected"
|
||||
expect(page).to have_button "Select"
|
||||
expect(page).not_to have_button "Selected"
|
||||
end
|
||||
|
||||
it "renders a link to deselect selected investments" do
|
||||
it "renders a button to deselect selected investments" do
|
||||
selected_investment = create(:budget_investment, :selected, budget: budget)
|
||||
|
||||
render_inline Admin::BudgetInvestments::ToggleSelectionComponent.new(selected_investment)
|
||||
|
||||
expect(page).to have_link "Selected"
|
||||
expect(page).not_to have_link "Select"
|
||||
expect(page).to have_button "Selected"
|
||||
expect(page).not_to have_button "Select"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -58,7 +58,7 @@ describe Admin::BudgetInvestments::ToggleSelectionComponent, :admin do
|
||||
render_inline Admin::BudgetInvestments::ToggleSelectionComponent.new(selected_investment)
|
||||
|
||||
expect(page).to have_content "Selected"
|
||||
expect(page).not_to have_link "Selected"
|
||||
expect(page).not_to have_button "Selected"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1411,8 +1411,8 @@ describe "Admin budget investments", :admin do
|
||||
visit admin_budget_budget_investments_path(budget)
|
||||
|
||||
within("#budget_investment_#{feasible_vf_bi.id}") do
|
||||
click_link("Select")
|
||||
expect(page).to have_link("Selected")
|
||||
click_button "Select"
|
||||
expect(page).to have_button "Selected"
|
||||
end
|
||||
|
||||
click_link "Advanced filters"
|
||||
@@ -1421,8 +1421,8 @@ describe "Admin budget investments", :admin do
|
||||
click_button("Filter")
|
||||
|
||||
within("#budget_investment_#{feasible_vf_bi.id}") do
|
||||
expect(page).not_to have_link("Select")
|
||||
expect(page).to have_link("Selected")
|
||||
expect(page).not_to have_button "Select"
|
||||
expect(page).to have_button "Selected"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1436,9 +1436,9 @@ describe "Admin budget investments", :admin do
|
||||
expect(page).to have_content("There are 2 investments")
|
||||
|
||||
within("#budget_investment_#{selected_bi.id}") do
|
||||
click_link("Selected")
|
||||
click_button "Selected"
|
||||
|
||||
expect(page).to have_link("Select")
|
||||
expect(page).to have_button "Select"
|
||||
end
|
||||
|
||||
click_button("Filter")
|
||||
@@ -1448,8 +1448,8 @@ describe "Admin budget investments", :admin do
|
||||
visit admin_budget_budget_investments_path(budget)
|
||||
|
||||
within("#budget_investment_#{selected_bi.id}") do
|
||||
expect(page).to have_link("Select")
|
||||
expect(page).not_to have_link("Selected")
|
||||
expect(page).to have_button "Select"
|
||||
expect(page).not_to have_button "Selected"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1462,9 +1462,9 @@ describe "Admin budget investments", :admin do
|
||||
visit admin_budget_budget_investments_path(budget)
|
||||
|
||||
within("#budget_investment_#{selected_bi.id}") do
|
||||
click_link("Selected")
|
||||
click_button "Selected"
|
||||
|
||||
expect(page).to have_link "Select"
|
||||
expect(page).to have_button "Select"
|
||||
end
|
||||
|
||||
click_link("Next")
|
||||
@@ -1802,9 +1802,9 @@ describe "Admin budget investments", :admin do
|
||||
within("#js-columns-selector-wrapper") { uncheck "Title" }
|
||||
|
||||
within("#budget_investment_#{investment.id}") do
|
||||
click_link "Selected"
|
||||
click_button "Selected"
|
||||
|
||||
expect(page).to have_link "Select"
|
||||
expect(page).to have_button "Select"
|
||||
expect(page).not_to have_content "Don't display me, please!"
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user