From 56ac154d1f305b8745c64e93b2f2c8dd3dc319c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Thu, 16 Sep 2021 00:49:32 +0200 Subject: [PATCH] Add feasible investments filter again We removed it in commit c322b2c4a because it was hard to know the difference between "Feasible" and "Not unfeasible". We're renaming the "Not unfeasible" filter instead. We're also moving the "selected" filter so it appears before the "unselected" filter, just like the "feasible" filter appears before the "unfeasible" filter. --- app/models/budget.rb | 3 ++- config/locales/en/budgets.yml | 3 ++- config/locales/es/budgets.yml | 3 ++- spec/models/budget_spec.rb | 6 +++--- spec/system/budgets/investments_spec.rb | 18 +++++++++++++----- 5 files changed, 22 insertions(+), 11 deletions(-) diff --git a/app/models/budget.rb b/app/models/budget.rb index 1eb59f101..327374c9a 100644 --- a/app/models/budget.rb +++ b/app/models/budget.rb @@ -199,9 +199,10 @@ class Budget < ApplicationRecord def investments_filters [ "not_unfeasible", + "feasible", "unfeasible", - ("unselected" if publishing_prices_or_later?), ("selected" if publishing_prices_or_later?), + ("unselected" if publishing_prices_or_later?), ("winners" if finished?) ].compact end diff --git a/config/locales/en/budgets.yml b/config/locales/en/budgets.yml index e2c8e65fd..c438b581d 100644 --- a/config/locales/en/budgets.yml +++ b/config/locales/en/budgets.yml @@ -121,7 +121,8 @@ en: not_logged_in: "To create a new budget investment you must %{sign_in} or %{sign_up}." filter: "Filtering projects by" filters: - not_unfeasible: "Not unfeasible" + feasible: "Feasible" + not_unfeasible: "Feasible or with undecided feasibility" selected: "Selected" unfeasible: "Unfeasible" unselected: "Unselected" diff --git a/config/locales/es/budgets.yml b/config/locales/es/budgets.yml index 3f232f6f2..51513a371 100644 --- a/config/locales/es/budgets.yml +++ b/config/locales/es/budgets.yml @@ -121,7 +121,8 @@ es: not_logged_in: "Para crear un nuevo proyecto de gasto debes %{sign_in} o %{sign_up}." filter: "Filtrando proyectos" filters: - not_unfeasible: "No inviables" + feasible: "Viables" + not_unfeasible: "Viables o con viabilidad por decidir" selected: "Seleccionados" unfeasible: "Inviables" unselected: "No seleccionados" diff --git a/spec/models/budget_spec.rb b/spec/models/budget_spec.rb index 6d16ddc56..1848b0c5a 100644 --- a/spec/models/budget_spec.rb +++ b/spec/models/budget_spec.rb @@ -290,7 +290,7 @@ describe Budget do %w[informing accepting reviewing selecting valuating].each do |phase| budget.phase = phase - expect(budget.investments_filters).to eq(%w[not_unfeasible unfeasible]) + expect(budget.investments_filters).to eq(%w[not_unfeasible feasible unfeasible]) end end @@ -298,14 +298,14 @@ describe Budget do %w[publishing_prices balloting reviewing_ballots].each do |phase| budget.phase = phase - expect(budget.investments_filters).to eq(%w[not_unfeasible unfeasible unselected selected]) + expect(budget.investments_filters).to eq(%w[not_unfeasible feasible unfeasible selected unselected]) end end it "returns all filters after the budget has finished" do budget.phase = "finished" - expect(budget.investments_filters).to eq(%w[not_unfeasible unfeasible unselected selected winners]) + expect(budget.investments_filters).to eq(%w[not_unfeasible feasible unfeasible selected unselected winners]) end end diff --git a/spec/system/budgets/investments_spec.rb b/spec/system/budgets/investments_spec.rb index ae2f3263d..e3639aa57 100644 --- a/spec/system/budgets/investments_spec.rb +++ b/spec/system/budgets/investments_spec.rb @@ -131,6 +131,7 @@ describe "Budget Investments" do scenario "Index filter by status" do budget.update!(phase: "finished") + create(:budget_investment, heading: heading, title: "Unclassified investment") create(:budget_investment, :feasible, heading: heading, title: "Feasible investment") create(:budget_investment, :unfeasible, heading: heading, title: "Unfeasible investment") create(:budget_investment, :unselected, heading: heading, title: "Unselected investment") @@ -141,34 +142,41 @@ describe "Budget Investments" do expect(page).to have_content "FILTERING PROJECTS BY" - click_link "Unfeasible" + click_link "Feasible" expect(page).to have_css ".budget-investment", count: 1 + expect(page).to have_content "Feasible investment" + + click_link "Unfeasible" + expect(page).to have_content "Unfeasible investment" + expect(page).to have_css ".budget-investment", count: 1 click_link "Unselected" - expect(page).to have_css ".budget-investment", count: 2 + expect(page).to have_css ".budget-investment", count: 3 expect(page).to have_content "Unselected investment" + expect(page).to have_content "Unclassified investment" expect(page).to have_content "Feasible investment" click_link "Selected" + expect(page).to have_css ".budget-investment", count: 2 expect(page).to have_content "Selected investment" expect(page).to have_content "Winner investment" - expect(page).to have_css ".budget-investment", count: 2 click_link "Winners" expect(page).to have_css ".budget-investment", count: 1 expect(page).to have_content "Winner investment" - click_link "Not unfeasible" + click_link "Feasible or with undecided feasibility" - expect(page).to have_css ".budget-investment", count: 4 + expect(page).to have_css ".budget-investment", count: 5 expect(page).to have_content "Selected investment" expect(page).to have_content "Unselected investment" expect(page).to have_content "Feasible investment" + expect(page).to have_content "Unclassified investment" expect(page).to have_content "Winner investment" end