From 6105eeccccf3a04bedb6536923ecfbef28742a3a Mon Sep 17 00:00:00 2001 From: Jane Sandberg Date: Tue, 31 Dec 2024 13:46:42 -0800 Subject: [PATCH] Don't filter out non-home facets on facet suggest searches This allows us to do facet.contains searches, which are needed for #4025, for facet fields like language, which don't show up on the home page. Helps with #4025 --- app/models/search_builder.rb | 2 +- spec/models/search_builder_spec.rb | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/app/models/search_builder.rb b/app/models/search_builder.rb index c9489f0c7..0751ede04 100644 --- a/app/models/search_builder.rb +++ b/app/models/search_builder.rb @@ -114,7 +114,7 @@ def search_query_present? end def facet_query_present? - blacklight_params[:f].present? + blacklight_params[:f].present? || blacklight_params[:action] == 'facet' end def json_query_dsl_clauses diff --git a/spec/models/search_builder_spec.rb b/spec/models/search_builder_spec.rb index 16409fc83..019563af8 100644 --- a/spec/models/search_builder_spec.rb +++ b/spec/models/search_builder_spec.rb @@ -133,6 +133,15 @@ expect { search_builder.only_home_facets(solr_parameters) }.not_to change { solr_parameters } end end + context 'when there is a facet suggest query' do + let(:blacklight_params) do + { "controller" => "catalog", "action" => "facet", "id" => "language_facet", "query_fragment" => "a", "only_values" => true }.with_indifferent_access + end + it 'does not make any changes to the facets' do + solr_parameters = { 'facet.field' => ['access_facet', 'language_facet'] } + expect { search_builder.only_home_facets(solr_parameters) }.not_to change { solr_parameters } + end + end end describe '#adjust_mm' do