From 2684fc70d37bf5cc2e7d2949168af0784c9d3e83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Mon, 11 Apr 2022 15:23:30 +0200 Subject: [PATCH] Show either investments header or results summary We were showing the header when there were no search terms but there were advanced search filters, unlike what we do for debates and proposals. Besides, we were already hiding the header when there were search terms, so it makes sense to hide it when using the advanced search too. We're using the `@search_terms` and `@advanced_search_terms` instance variables in order to be consistent with what we do in the debates and proposals sections. --- app/views/budgets/investments/index.html.erb | 13 +++++-------- spec/system/budgets/investments_spec.rb | 17 +++++++++++++++++ 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/app/views/budgets/investments/index.html.erb b/app/views/budgets/investments/index.html.erb index 3c20c3256..99e47d0c9 100644 --- a/app/views/budgets/investments/index.html.erb +++ b/app/views/budgets/investments/index.html.erb @@ -16,17 +16,14 @@ <% end %>
- - <% unless params[:search].present? %> - <%= render "/budgets/investments/header" %> - <% end %> - - <% if params[:search].present? || params[:advanced_search].present? %> + <% if @search_terms || @advanced_search_terms %> <%= render Shared::SearchResultsSummaryComponent.new( results: @investments, - search_terms: params[:search], - advanced_search_terms: params[:advanced_search] + search_terms: @search_terms, + advanced_search_terms: @advanced_search_terms ) %> + <% else %> + <%= render "/budgets/investments/header" %> <% end %>
diff --git a/spec/system/budgets/investments_spec.rb b/spec/system/budgets/investments_spec.rb index 01fceb272..b1dd24db1 100644 --- a/spec/system/budgets/investments_spec.rb +++ b/spec/system/budgets/investments_spec.rb @@ -219,6 +219,23 @@ describe "Budget Investments" do expect(page).not_to have_content "Feasible health" expect(page).not_to have_content "Unfeasible health" end + + scenario "Advanced search without search terms" do + create(:budget_heading, group: heading.group) + create(:budget_investment, heading: heading, title: "Old thing", created_at: 2.years.ago) + create(:budget_investment, heading: heading, title: "Newest thing", created_at: 1.hour.ago) + + visit budget_investments_path(budget, heading: heading) + + click_button "Advanced search" + select "Last year", from: "By date" + click_button "Filter" + + expect(page).to have_content "There is 1 investment" + expect(page).to have_content "Newest thing" + expect(page).not_to have_content "Old thing" + within("main") { expect(page).not_to have_content "Participatory budgeting" } + end end context("Filters") do