diff --git a/app/views/admin/budgets/_form.html.erb b/app/views/admin/budgets/_form.html.erb index 44e395f6f..1636db3fa 100644 --- a/app/views/admin/budgets/_form.html.erb +++ b/app/views/admin/budgets/_form.html.erb @@ -22,7 +22,7 @@ - <% @budget.phases.each do |phase| %> + <% @budget.phases.order(:id).each do |phase| %> <%= t("budgets.phase.#{phase.kind}") %> diff --git a/spec/features/admin/budgets_spec.rb b/spec/features/admin/budgets_spec.rb index 7da02b559..7a78a349b 100644 --- a/spec/features/admin/budgets_spec.rb +++ b/spec/features/admin/budgets_spec.rb @@ -30,7 +30,7 @@ feature 'Admin budgets' do visit admin_budgets_path expect(page).to have_content(budget.name) - expect(page).to have_content(I18n.t("budgets.phase.#{budget.phase}")) + expect(page).to have_content(translated_phase_name(phase_kind: budget.phase)) end scenario 'Filters by phase' do @@ -142,13 +142,23 @@ feature 'Admin budgets' do click_link 'Edit budget' within '#budget-phases-table' do + + Budget::Phase::PHASE_KINDS.each do |phase_kind| + phase_index = Budget::Phase::PHASE_KINDS.index(phase_kind) + break if phase_kind == Budget::Phase::PHASE_KINDS.last + next_phase_kind = Budget::Phase::PHASE_KINDS[phase_index + 1] + next_phase_name = translated_phase_name(phase_kind: next_phase_kind) + expect(translated_phase_name(phase_kind: phase_kind)).to appear_before(next_phase_name) + end + budget.phases.each do |phase| + edit_phase_link = edit_admin_budget_budget_phase_path(budget, phase) + within "#budget_phase_#{phase.id}" do - expect(page).to have_content(I18n.t("budgets.phase.#{phase.kind}")) + expect(page).to have_content(translated_phase_name(phase_kind: phase.kind)) expect(page).to have_content("#{phase.starts_at.to_date} - #{phase.ends_at.to_date}") expect(page).to have_css('.budget-phase-enabled.enabled') - expect(page).to have_link('Edit phase', href: edit_admin_budget_budget_phase_path(budget, phase)) - + expect(page).to have_link('Edit phase', href: edit_phase_link) expect(page).to have_content('Active') if budget.current_phase == phase end end @@ -305,3 +315,7 @@ feature 'Admin budgets' do end end + +def translated_phase_name(phase_kind: phase_kind) + I18n.t("budgets.phase.#{phase_kind}") +end