diff --git a/app/helpers/budgets_helper.rb b/app/helpers/budgets_helper.rb
index 84f04139c..4b9dfd311 100644
--- a/app/helpers/budgets_helper.rb
+++ b/app/helpers/budgets_helper.rb
@@ -38,4 +38,8 @@ module BudgetsHelper
def current_ballot
Budget::Ballot.where(user: current_user, budget: @budget).first
end
+
+ def investment_tags_select_options
+ Budget::Investment.tags_on(:valuation).order(:name).select(:name).distinct
+ end
end
diff --git a/app/views/admin/budget_investments/index.html.erb b/app/views/admin/budget_investments/index.html.erb
index 126a933b7..beb5eb856 100644
--- a/app/views/admin/budget_investments/index.html.erb
+++ b/app/views/admin/budget_investments/index.html.erb
@@ -28,7 +28,7 @@
<%= select_tag :tag_name,
- options_for_select(spending_proposal_tags_select_options, params[:tag_name]),
+ options_for_select(investment_tags_select_options, params[:tag_name]),
{ prompt: t("admin.budget_investments.index.tags_filter_all"),
label: false,
class: "js-submit-on-change" } %>
diff --git a/spec/features/admin/budget_investments_spec.rb b/spec/features/admin/budget_investments_spec.rb
index ede09ec4f..f4dde2425 100644
--- a/spec/features/admin/budget_investments_spec.rb
+++ b/spec/features/admin/budget_investments_spec.rb
@@ -252,6 +252,21 @@ feature 'Admin budget investments' do
expect(page).to have_content("More schools")
end
+ scenario "Filtering by tag, display only valuation tags" do
+ investment1 = create(:budget_investment, budget: @budget, tag_list: 'Education')
+ investment2 = create(:budget_investment, budget: @budget, tag_list: 'Health')
+
+ investment1.set_tag_list_on(:valuation, 'Teachers')
+ investment2.set_tag_list_on(:valuation, 'Hospitals')
+
+ investment1.save
+ investment2.save
+
+ visit admin_budget_budget_investments_path(budget_id: @budget.id)
+
+ expect(page).to have_select("tag_name", options: ["All tags", "Hospitals", "Teachers"])
+ end
+
end
scenario 'Show' do