Adapt phases step to single and multiple budget mode
Co-Authored-By: decabeza <alberto@decabeza.es>
This commit is contained in:
committed by
Javi Martín
parent
e3510fc29d
commit
4c6de86a72
@@ -4,6 +4,8 @@
|
||||
|
||||
<%= render "shared/errors", resource: phase %>
|
||||
|
||||
<%= render Admin::BudgetsWizard::ModelFieldComponent.new %>
|
||||
|
||||
<fieldset>
|
||||
<legend aria-describedby="phase_duration_description">
|
||||
<%= t("admin.budget_phases.edit.duration") %>
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
<td>
|
||||
<%= render Admin::TableActionsComponent.new(phase,
|
||||
actions: [:edit],
|
||||
edit_path: edit_path(phase),
|
||||
edit_text: t("admin.budgets.edit.edit_phase")
|
||||
) %>
|
||||
</td>
|
||||
|
||||
@@ -37,4 +37,10 @@ class Admin::BudgetPhases::PhasesComponent < ApplicationComponent
|
||||
tag.span t("shared.no"), class: "budget-phase-disabled"
|
||||
end
|
||||
end
|
||||
|
||||
def edit_path(phase)
|
||||
if helpers.respond_to?(:single_heading?) && helpers.single_heading?
|
||||
edit_admin_budgets_wizard_budget_budget_phase_path(budget, phase, helpers.url_params)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -13,7 +13,7 @@ class Admin::BudgetsWizard::PhasesController < Admin::BudgetsWizard::BaseControl
|
||||
private
|
||||
|
||||
def phases_index
|
||||
admin_budgets_wizard_budget_budget_phases_path(@phase.budget)
|
||||
admin_budgets_wizard_budget_budget_phases_path(@phase.budget, url_params)
|
||||
end
|
||||
|
||||
def phases_params
|
||||
|
||||
@@ -82,5 +82,18 @@ describe "Budgets wizard, phases step", :admin do
|
||||
expect(page).to have_css ".creation-timeline"
|
||||
within_table("Phases") { expect(page).to have_content "Welcoming projects" }
|
||||
end
|
||||
|
||||
scenario "update phase in single heading budget" do
|
||||
visit admin_budgets_wizard_budget_budget_phases_path(budget, mode: "single")
|
||||
|
||||
within("tr", text: "Selecting projects") { click_link "Edit phase" }
|
||||
fill_in "Name", with: "Choosing projects"
|
||||
click_button "Save changes"
|
||||
|
||||
expect(page).to have_content "Changes saved"
|
||||
expect(page).to have_css ".creation-timeline"
|
||||
within_table("Phases") { expect(page).to have_content "Choosing projects" }
|
||||
expect(page).to have_link "Go back to edit heading"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -21,6 +21,26 @@ describe "Budgets creation wizard", :admin do
|
||||
click_button "Continue to phases"
|
||||
|
||||
expect(page).to have_css ".budget-phases-table"
|
||||
|
||||
click_button "Finish"
|
||||
|
||||
expect(page).to have_content "Phases configured successfully"
|
||||
|
||||
within "tr", text: "Single heading budget" do
|
||||
click_link "Edit headings groups"
|
||||
end
|
||||
|
||||
expect(page).to have_content "There is 1 group"
|
||||
|
||||
within "tr", text: "Single heading budget" do
|
||||
click_link "Manage headings"
|
||||
end
|
||||
|
||||
expect(page).to have_content "There is 1 heading"
|
||||
|
||||
within "tbody" do
|
||||
expect(page).to have_content "One and only heading"
|
||||
end
|
||||
end
|
||||
|
||||
scenario "Creation of a multiple-headings budget by steps" do
|
||||
@@ -86,5 +106,43 @@ describe "Budgets creation wizard", :admin do
|
||||
click_link "Continue to phases"
|
||||
|
||||
expect(page).to have_css ".budget-phases-table"
|
||||
|
||||
within("tr", text: "Voting projects") { click_link "Edit phase" }
|
||||
fill_in "Name", with: "Custom phase name"
|
||||
uncheck "Phase enabled"
|
||||
click_button "Save changes"
|
||||
|
||||
expect(page).to have_content "Changes saved"
|
||||
|
||||
within "table" do
|
||||
expect(page).to have_content "Custom phase name"
|
||||
expect(page).not_to have_content "Voting projects"
|
||||
end
|
||||
|
||||
click_button "Finish"
|
||||
|
||||
expect(page).to have_content "Phases configured successfully"
|
||||
|
||||
within "tr", text: "Multiple headings budget" do
|
||||
click_link "Edit headings groups"
|
||||
end
|
||||
|
||||
expect(page).to have_content "There are 2 groups"
|
||||
|
||||
within "tbody" do
|
||||
expect(page).to have_content "All city"
|
||||
expect(page).to have_content "Districts"
|
||||
end
|
||||
|
||||
within "tr", text: "Districts" do
|
||||
click_link "Manage headings"
|
||||
end
|
||||
|
||||
expect(page).to have_content "There are 2 headings"
|
||||
|
||||
within "tbody" do
|
||||
expect(page).to have_content "North"
|
||||
expect(page).to have_content "South"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user