Adapt phases step to single and multiple budget mode

Co-Authored-By: decabeza <alberto@decabeza.es>
This commit is contained in:
Julian Herrero
2020-03-15 06:51:52 +01:00
committed by Javi Martín
parent e3510fc29d
commit 4c6de86a72
6 changed files with 81 additions and 1 deletions

View File

@@ -4,6 +4,8 @@
<%= render "shared/errors", resource: phase %> <%= render "shared/errors", resource: phase %>
<%= render Admin::BudgetsWizard::ModelFieldComponent.new %>
<fieldset> <fieldset>
<legend aria-describedby="phase_duration_description"> <legend aria-describedby="phase_duration_description">
<%= t("admin.budget_phases.edit.duration") %> <%= t("admin.budget_phases.edit.duration") %>

View File

@@ -31,6 +31,7 @@
<td> <td>
<%= render Admin::TableActionsComponent.new(phase, <%= render Admin::TableActionsComponent.new(phase,
actions: [:edit], actions: [:edit],
edit_path: edit_path(phase),
edit_text: t("admin.budgets.edit.edit_phase") edit_text: t("admin.budgets.edit.edit_phase")
) %> ) %>
</td> </td>

View File

@@ -37,4 +37,10 @@ class Admin::BudgetPhases::PhasesComponent < ApplicationComponent
tag.span t("shared.no"), class: "budget-phase-disabled" tag.span t("shared.no"), class: "budget-phase-disabled"
end end
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 end

View File

@@ -13,7 +13,7 @@ class Admin::BudgetsWizard::PhasesController < Admin::BudgetsWizard::BaseControl
private private
def phases_index def phases_index
admin_budgets_wizard_budget_budget_phases_path(@phase.budget) admin_budgets_wizard_budget_budget_phases_path(@phase.budget, url_params)
end end
def phases_params def phases_params

View File

@@ -82,5 +82,18 @@ describe "Budgets wizard, phases step", :admin do
expect(page).to have_css ".creation-timeline" expect(page).to have_css ".creation-timeline"
within_table("Phases") { expect(page).to have_content "Welcoming projects" } within_table("Phases") { expect(page).to have_content "Welcoming projects" }
end 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
end end

View File

@@ -21,6 +21,26 @@ describe "Budgets creation wizard", :admin do
click_button "Continue to phases" click_button "Continue to phases"
expect(page).to have_css ".budget-phases-table" 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 end
scenario "Creation of a multiple-headings budget by steps" do 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" click_link "Continue to phases"
expect(page).to have_css ".budget-phases-table" 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
end end