diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss
index b2badb487..e949d2e61 100644
--- a/app/assets/stylesheets/application.scss
+++ b/app/assets/stylesheets/application.scss
@@ -47,6 +47,7 @@
@import "documents/**/*";
@import "layout/**/*";
@import "machine_learning/**/*";
+@import "management/**/*";
@import "moderation/**/*";
@import "polls/**/*";
@import "proposals/**/*";
diff --git a/app/assets/stylesheets/management/budgets/investments/search.scss b/app/assets/stylesheets/management/budgets/investments/search.scss
new file mode 100644
index 000000000..ed7561cf5
--- /dev/null
+++ b/app/assets/stylesheets/management/budgets/investments/search.scss
@@ -0,0 +1,5 @@
+.management-investments-search {
+ .checkbox-label {
+ font-weight: normal;
+ }
+}
diff --git a/app/components/management/budgets/investments/search_component.html.erb b/app/components/management/budgets/investments/search_component.html.erb
index 77339d973..932304916 100644
--- a/app/components/management/budgets/investments/search_component.html.erb
+++ b/app/components/management/budgets/investments/search_component.html.erb
@@ -1,9 +1,11 @@
-<%= form_tag(url, method: :get) do |f| %>
+<%= form_tag(url, options) do |f| %>
+ <%= label_tag :search, search_label_text %>
<%= text_field_tag :search, "" %>
+ <%= label_tag :heading_id, attribute_name(:heading_id) %>
<%= select_tag :heading_id,
options_for_select(budget_heading_select_options(budget),
params[:heading_id]),
@@ -12,8 +14,10 @@
- <%= check_box_tag :unfeasible, "1", params[:unfeasible].present? %>
- <%= t("admin.budget_investments.search_unfeasible") %>
+ <%= label_tag :unfeasible, class: "checkbox-label" do %>
+ <%= check_box_tag :unfeasible, "1", params[:unfeasible].present? %>
+ <%= t("admin.budget_investments.search_unfeasible") %>
+ <% end %>
diff --git a/app/components/management/budgets/investments/search_component.rb b/app/components/management/budgets/investments/search_component.rb
index 7fc2dca05..8244a2e9b 100644
--- a/app/components/management/budgets/investments/search_component.rb
+++ b/app/components/management/budgets/investments/search_component.rb
@@ -6,4 +6,21 @@ class Management::Budgets::Investments::SearchComponent < ApplicationComponent
@budget = budget
@url = url
end
+
+ private
+
+ def options
+ {
+ method: :get,
+ class: "management-investments-search"
+ }
+ end
+
+ def search_label_text
+ t("management.budget_investments.search.label")
+ end
+
+ def attribute_name(attribute)
+ Budget::Investment.human_attribute_name(attribute)
+ end
end
diff --git a/config/locales/en/management.yml b/config/locales/en/management.yml
index 76a777dff..3cf7506a3 100644
--- a/config/locales/en/management.yml
+++ b/config/locales/en/management.yml
@@ -95,6 +95,8 @@ en:
unfeasible: Unfeasible investment
print:
print_button: Print
+ search:
+ label: "Search investments"
search_results:
one: " containing the term '%{search_term}'"
other: " containing the term '%{search_term}'"
diff --git a/config/locales/es/management.yml b/config/locales/es/management.yml
index 786cf47a5..895268f16 100644
--- a/config/locales/es/management.yml
+++ b/config/locales/es/management.yml
@@ -95,6 +95,8 @@ es:
unfeasible: Proyectos no factibles
print:
print_button: Imprimir
+ search:
+ label: "Buscar proyectos"
search_results:
one: " que contiene '%{search_term}'"
other: " que contienen '%{search_term}'"
diff --git a/spec/components/management/budgets/investments/search_component_spec.rb b/spec/components/management/budgets/investments/search_component_spec.rb
new file mode 100644
index 000000000..bdb9eb354
--- /dev/null
+++ b/spec/components/management/budgets/investments/search_component_spec.rb
@@ -0,0 +1,17 @@
+require "rails_helper"
+
+describe Management::Budgets::Investments::SearchComponent do
+ include Rails.application.routes.url_helpers
+
+ let(:budget) { create(:budget) }
+ let(:url) { management_budget_investments_path(budget) }
+ let(:component) { Management::Budgets::Investments::SearchComponent.new(budget, url: url) }
+
+ it "renders a label for each field" do
+ render_inline component
+
+ expect(page).to have_field "Search investments"
+ expect(page).to have_select "Heading"
+ expect(page).to have_field "Search unfeasible", type: :checkbox
+ end
+end
diff --git a/spec/system/management/budget_investments_spec.rb b/spec/system/management/budget_investments_spec.rb
index ce2696002..7fcbe2763 100644
--- a/spec/system/management/budget_investments_spec.rb
+++ b/spec/system/management/budget_investments_spec.rb
@@ -143,7 +143,7 @@ describe "Budget Investments" do
click_link "Support budget investments"
end
- fill_in "search", with: "what you got"
+ fill_in "Search investments", with: "what you got"
click_button "Search"
within("#budget-investments") do
@@ -170,7 +170,7 @@ describe "Budget Investments" do
click_link "Support budget investments"
end
- fill_in "search", with: "Area 52"
+ fill_in "Search investments", with: "Area 52"
click_button "Search"
within("#budget-investments") do
@@ -523,8 +523,8 @@ describe "Budget Investments" do
expect(page).to have_content(low_investment.title)
end
- select "District Nine", from: "heading_id"
- click_button("Search")
+ select "District Nine", from: "Heading"
+ click_button "Search"
within "#budget-investments" do
expect(page).not_to have_content(unvoted_investment.title)