blacklight 9.0.0.beta8 → 9.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.env +3 -3
- data/.github/matrix.json +18 -34
- data/.github/workflows/lint.yml +1 -1
- data/.github/workflows/test.yml +4 -3
- data/.rubocop.yml +72 -7
- data/.rubocop_todo.yml +142 -268
- data/Gemfile +1 -1
- data/README.md +4 -11
- data/VERSION +1 -1
- data/app/assets/builds/blacklight.css +37 -23
- data/app/assets/images/blacklight/logo-dark.svg +184 -0
- data/app/assets/images/blacklight/logo.svg +184 -0
- data/app/assets/javascripts/blacklight/blacklight.esm.js +134 -48
- data/app/assets/javascripts/blacklight/blacklight.esm.js.map +1 -1
- data/app/assets/javascripts/blacklight/blacklight.js +134 -48
- data/app/assets/javascripts/blacklight/blacklight.js.map +1 -1
- data/app/assets/stylesheets/blacklight/_balanced_list.scss +1 -1
- data/app/assets/stylesheets/blacklight/_bootstrap_overrides.scss +17 -0
- data/app/assets/stylesheets/blacklight/_constraints.scss +2 -2
- data/app/assets/stylesheets/blacklight/_facets.scss +14 -10
- data/app/assets/stylesheets/blacklight/_header.scss +0 -4
- data/app/assets/stylesheets/blacklight/blacklight_defaults.scss +5 -9
- data/app/components/blacklight/facets/filters_component.rb +1 -1
- data/app/components/blacklight/facets/inclusive_constraint_component.html.erb +1 -1
- data/app/components/blacklight/facets/suggest_component.html.erb +17 -12
- data/app/components/blacklight/icons/checkmark_component.rb +16 -0
- data/app/components/blacklight/icons/circle_half_component.rb +16 -0
- data/app/components/blacklight/icons/moon_stars_component.rb +17 -0
- data/app/components/blacklight/icons/sun_component.rb +16 -0
- data/app/components/blacklight/metadata_field_component.rb +1 -1
- data/app/components/blacklight/search_navbar_component.html.erb +1 -1
- data/app/components/blacklight/theme_switcher_component.html.erb +31 -0
- data/app/components/blacklight/theme_switcher_component.rb +6 -0
- data/app/components/blacklight/top_navbar_component.html.erb +1 -1
- data/app/controllers/concerns/blacklight/bookmarks.rb +8 -14
- data/app/controllers/concerns/blacklight/catalog.rb +12 -14
- data/app/controllers/concerns/blacklight/controller.rb +54 -11
- data/app/controllers/concerns/blacklight/guest_user.rb +51 -0
- data/app/controllers/concerns/blacklight/search_context.rb +1 -1
- data/app/controllers/concerns/blacklight/search_history.rb +3 -1
- data/app/controllers/concerns/blacklight/searchable.rb +18 -0
- data/app/helpers/blacklight/layout_helper_behavior.rb +7 -0
- data/app/javascript/blacklight-frontend/checkbox_submit.js +2 -2
- data/app/javascript/blacklight-frontend/color_theme_switcher.js +85 -0
- data/app/javascript/blacklight-frontend/facet_suggest.js +4 -1
- data/app/javascript/blacklight-frontend/index.js +2 -0
- data/app/models/concerns/blacklight/document/dublin_core.rb +2 -2
- data/app/models/concerns/blacklight/document.rb +1 -1
- data/app/models/concerns/blacklight/user.rb +36 -0
- data/app/presenters/blacklight/field_presenter.rb +1 -1
- data/app/presenters/blacklight/rendering/microdata.rb +1 -0
- data/app/services/blacklight/bookmarks_search_builder.rb +4 -4
- data/app/services/blacklight/search_service.rb +50 -35
- data/app/values/blacklight/types.rb +1 -1
- data/app/views/catalog/_email_form.html.erb +3 -3
- data/app/views/catalog/_home_text.html.erb +1 -1
- data/app/views/catalog/_sms_form.html.erb +4 -4
- data/app/views/catalog/index.rss.builder +4 -4
- data/app/views/catalog/opensearch.json.jbuilder +3 -0
- data/app/views/catalog/opensearch.xml.builder +2 -2
- data/app/views/layouts/blacklight/base.html.erb +13 -1
- data/app/views/shared/_user_util_links.html.erb +18 -5
- data/blacklight.gemspec +3 -3
- data/config/locales/blacklight.ar.yml +5 -0
- data/config/locales/blacklight.ca.yml +5 -0
- data/config/locales/blacklight.de.yml +6 -2
- data/config/locales/blacklight.en.yml +5 -0
- data/config/locales/blacklight.es.yml +5 -0
- data/config/locales/blacklight.fr.yml +5 -0
- data/config/locales/blacklight.hu.yml +5 -0
- data/config/locales/blacklight.it.yml +6 -2
- data/config/locales/blacklight.nl.yml +5 -0
- data/config/locales/blacklight.pt-BR.yml +6 -2
- data/config/locales/blacklight.sq.yml +5 -0
- data/config/locales/blacklight.zh.yml +5 -0
- data/lib/blacklight/component.rb +1 -1
- data/lib/blacklight/configuration/action_config_map_entry.rb +31 -0
- data/lib/blacklight/configuration/display_field.rb +1 -0
- data/lib/blacklight/configuration/field.rb +6 -6
- data/lib/blacklight/configuration/fields.rb +1 -1
- data/lib/blacklight/configuration/sort_field.rb +2 -2
- data/lib/blacklight/configuration.rb +30 -23
- data/lib/blacklight/parameters.rb +1 -1
- data/lib/blacklight/routes/searchable.rb +1 -1
- data/lib/blacklight/search_builder.rb +208 -10
- data/lib/blacklight/search_state.rb +4 -0
- data/lib/blacklight/solr/request.rb +8 -1
- data/lib/blacklight/solr/response/group_response.rb +1 -1
- data/lib/blacklight/solr/response/spelling.rb +8 -8
- data/lib/blacklight/solr/response.rb +2 -21
- data/lib/blacklight/solr/search_builder_behavior.rb +59 -16
- data/lib/blacklight.rb +2 -2
- data/lib/generators/blacklight/assets/importmap_generator.rb +2 -2
- data/lib/generators/blacklight/assets_generator.rb +1 -1
- data/lib/generators/blacklight/controller_generator.rb +1 -1
- data/lib/generators/blacklight/document_generator.rb +1 -1
- data/lib/generators/blacklight/install_generator.rb +6 -4
- data/lib/generators/blacklight/models_generator.rb +1 -1
- data/lib/generators/blacklight/search_builder_generator.rb +1 -1
- data/lib/generators/blacklight/solr_generator.rb +1 -1
- data/lib/generators/blacklight/templates/catalog_controller.rb +21 -2
- data/lib/generators/blacklight/templates/solr/conf/schema.xml +264 -178
- data/lib/generators/blacklight/templates/solr/conf/solrconfig.xml +6 -14
- data/lib/generators/blacklight/test_support_generator.rb +1 -1
- data/lib/generators/blacklight/user_generator.rb +66 -5
- data/lib/railties/blacklight.rake +4 -4
- data/package.json +2 -2
- data/spec/components/blacklight/document/action_component_spec.rb +1 -1
- data/spec/components/blacklight/document/group_component_spec.rb +1 -1
- data/spec/components/blacklight/document_component_spec.rb +9 -9
- data/spec/components/blacklight/facet_component_spec.rb +2 -2
- data/spec/components/blacklight/facets/filters_component_spec.rb +1 -1
- data/spec/components/blacklight/facets/index_navigation_component_spec.rb +1 -2
- data/spec/components/blacklight/facets/list_component_spec.rb +1 -1
- data/spec/components/blacklight/facets/suggest_component_spec.rb +2 -3
- data/spec/components/blacklight/metadata_field_component_spec.rb +26 -0
- data/spec/components/blacklight/skip_link_component_spec.rb +2 -2
- data/spec/controllers/application_controller_spec.rb +71 -0
- data/spec/controllers/bookmarks_controller_spec.rb +18 -5
- data/spec/controllers/catalog_controller_spec.rb +7 -5
- data/spec/features/advanced_search_spec.rb +29 -16
- data/spec/features/alternate_controller_spec.rb +4 -4
- data/spec/features/axe_spec.rb +34 -22
- data/spec/features/bookmarks_spec.rb +13 -13
- data/spec/features/dark_mode_spec.rb +42 -0
- data/spec/features/did_you_mean_spec.rb +27 -27
- data/spec/features/facet_missing_spec.rb +3 -3
- data/spec/features/facets_spec.rb +9 -0
- data/spec/features/record_view_spec.rb +14 -14
- data/spec/features/search_context_spec.rb +8 -8
- data/spec/features/search_filters_spec.rb +16 -16
- data/spec/features/search_formats_spec.rb +2 -2
- data/spec/features/search_history_spec.rb +11 -11
- data/spec/features/search_pagination_spec.rb +17 -17
- data/spec/features/search_results_spec.rb +3 -3
- data/spec/features/search_sort_spec.rb +4 -4
- data/spec/features/search_spec.rb +20 -20
- data/spec/helpers/blacklight/url_helper_behavior_spec.rb +15 -15
- data/spec/helpers/blacklight_helper_spec.rb +1 -1
- data/spec/helpers/catalog_helper_spec.rb +7 -7
- data/spec/integration/generators/blacklight/user_generator_spec.rb +60 -0
- data/spec/lib/blacklight/search_state/pivot_filter_field_spec.rb +1 -1
- data/spec/models/blacklight/configurable_spec.rb +1 -1
- data/spec/models/blacklight/configuration_spec.rb +0 -19
- data/spec/models/blacklight/document/dublin_core_spec.rb +2 -2
- data/spec/models/blacklight/facet_paginator_spec.rb +1 -1
- data/spec/models/blacklight/search_builder_spec.rb +26 -4
- data/spec/models/blacklight/solr/repository_spec.rb +10 -2
- data/spec/models/blacklight/solr/search_builder_behavior_spec.rb +165 -7
- data/spec/models/blacklight/user_spec.rb +32 -5
- data/spec/models/bookmark_spec.rb +1 -1
- data/spec/models/record_mailer_spec.rb +8 -8
- data/spec/models/search_spec.rb +1 -1
- data/spec/models/solr_document_spec.rb +4 -0
- data/spec/presenters/blacklight/index_presenter_spec.rb +1 -0
- data/spec/presenters/blacklight/rendering/pipeline_spec.rb +1 -0
- data/spec/presenters/blacklight/show_presenter_spec.rb +1 -0
- data/spec/presenters/blacklight/thumbnail_presenter_spec.rb +1 -0
- data/spec/services/blacklight/search_service_spec.rb +7 -7
- data/spec/spec_helper.rb +3 -12
- data/spec/support/features/session_helpers.rb +13 -4
- data/spec/support/features/turbo_helpers.rb +13 -0
- data/spec/support/features.rb +2 -0
- data/spec/support/user_helpers.rb +24 -0
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +1 -1
- data/spec/views/catalog/_document.html.erb_spec.rb +4 -4
- data/spec/views/catalog/_paginate_compact.html.erb_spec.rb +2 -2
- data/spec/views/catalog/_sort_and_per_page.html.erb_spec.rb +5 -5
- data/spec/views/catalog/index.html.erb_spec.rb +2 -2
- data/spec/views/catalog/show.html.erb_spec.rb +3 -4
- data/spec/views/shared/_user_util_links.html.erb_spec.rb +56 -0
- data/template.demo.rb +2 -1
- metadata +30 -29
- data/.hound.yml +0 -4
- data/.jshintrc +0 -22
- data/app/assets/images/blacklight/logo.png +0 -0
- data/app/controllers/concerns/blacklight/facetable.rb +0 -34
- data/app/models/facet_search_builder.rb +0 -5
- data/app/services/blacklight/facet_search_service.rb +0 -44
- data/lib/blacklight/abstract_search_builder.rb +0 -154
- data/lib/blacklight/facet_search_builder.rb +0 -18
- data/lib/blacklight/solr/facet_search_builder_behavior.rb +0 -62
- data/spec/models/blacklight/facet_search_builder_spec.rb +0 -19
- data/spec/models/blacklight/solr/facet_search_builder_behavior_spec.rb +0 -929
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Blacklight
|
|
4
|
-
##
|
|
5
|
-
# Blacklight's SearchBuilder converts blacklight request parameters into
|
|
6
|
-
# query parameters appropriate for search index. It does so by evaluating a
|
|
7
|
-
# chain of processing methods to populate a result hash (see {#to_hash}).
|
|
8
|
-
class AbstractSearchBuilder
|
|
9
|
-
class_attribute :default_processor_chain
|
|
10
|
-
self.default_processor_chain = []
|
|
11
|
-
|
|
12
|
-
attr_reader :processor_chain, :search_state, :blacklight_params
|
|
13
|
-
|
|
14
|
-
# @overload initialize(scope)
|
|
15
|
-
# @param [Object] scope scope the scope where the filter methods reside in.
|
|
16
|
-
# @overload initialize(processor_chain, scope)
|
|
17
|
-
# @param [List<Symbol>,TrueClass] processor_chain options a list of filter methods to run or true, to use the default methods
|
|
18
|
-
# @param [Object] scope the scope where the filter methods reside in.
|
|
19
|
-
def initialize(*options)
|
|
20
|
-
case options.size
|
|
21
|
-
when 1
|
|
22
|
-
@processor_chain = default_processor_chain.dup
|
|
23
|
-
@scope = options.first
|
|
24
|
-
when 2
|
|
25
|
-
@processor_chain, @scope = options
|
|
26
|
-
else
|
|
27
|
-
raise ArgumentError, "wrong number of arguments. (#{options.size} for 1..2)"
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
@blacklight_params = {}
|
|
31
|
-
search_state_class = @scope.try(:search_state_class) || Blacklight::SearchState
|
|
32
|
-
@search_state = search_state_class.new(@blacklight_params, @scope&.blacklight_config, @scope)
|
|
33
|
-
@additional_filters = {}
|
|
34
|
-
@merged_params = {}
|
|
35
|
-
@reverse_merged_params = {}
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
delegate :blacklight_config, to: :scope
|
|
39
|
-
|
|
40
|
-
##
|
|
41
|
-
# Set the parameters to pass through the processor chain
|
|
42
|
-
def with(blacklight_params_or_search_state = {})
|
|
43
|
-
params_will_change!
|
|
44
|
-
@search_state = blacklight_params_or_search_state.is_a?(Blacklight::SearchState) ? blacklight_params_or_search_state : @search_state.reset(blacklight_params_or_search_state)
|
|
45
|
-
@blacklight_params = @search_state.params.dup
|
|
46
|
-
self
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
# sets the facet that this query pertains to, for the purpose of facet pagination
|
|
50
|
-
def facet=(value)
|
|
51
|
-
params_will_change!
|
|
52
|
-
@facet = value
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
# @param [Object] value
|
|
56
|
-
def facet(value = nil)
|
|
57
|
-
if value
|
|
58
|
-
self.facet = value
|
|
59
|
-
return self
|
|
60
|
-
end
|
|
61
|
-
@facet
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
##
|
|
65
|
-
# Merge additional, repository-specific parameters
|
|
66
|
-
def merge(extra_params, &)
|
|
67
|
-
if extra_params
|
|
68
|
-
params_will_change!
|
|
69
|
-
@merged_params.merge!(extra_params.to_hash, &)
|
|
70
|
-
end
|
|
71
|
-
self
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
##
|
|
75
|
-
# "Reverse merge" additional, repository-specific parameters
|
|
76
|
-
def reverse_merge(extra_params, &)
|
|
77
|
-
if extra_params
|
|
78
|
-
params_will_change!
|
|
79
|
-
@reverse_merged_params.reverse_merge!(extra_params.to_hash, &)
|
|
80
|
-
end
|
|
81
|
-
self
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
delegate :[], :key?, to: :to_hash
|
|
85
|
-
|
|
86
|
-
# a solr query method
|
|
87
|
-
# @return [Blacklight::Solr::Response] the solr response object
|
|
88
|
-
def to_hash
|
|
89
|
-
return @params unless params_need_update?
|
|
90
|
-
|
|
91
|
-
@params = processed_parameters
|
|
92
|
-
.reverse_merge(@reverse_merged_params)
|
|
93
|
-
.merge(@merged_params)
|
|
94
|
-
.tap { clear_changes }
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
alias query to_hash
|
|
98
|
-
alias to_h to_hash
|
|
99
|
-
|
|
100
|
-
delegate :search_field, to: :search_state
|
|
101
|
-
|
|
102
|
-
private
|
|
103
|
-
|
|
104
|
-
attr_reader :scope
|
|
105
|
-
|
|
106
|
-
def should_add_field_to_request? _field_name, field
|
|
107
|
-
field.include_in_request || (field.include_in_request.nil? && blacklight_config.add_field_configuration_to_solr_request)
|
|
108
|
-
end
|
|
109
|
-
|
|
110
|
-
def request
|
|
111
|
-
Blacklight::Solr::Request.new
|
|
112
|
-
end
|
|
113
|
-
|
|
114
|
-
# The CatalogController #index and #facet actions use this.
|
|
115
|
-
# Solr parameters can come from a number of places. From lowest
|
|
116
|
-
# precedence to highest:
|
|
117
|
-
# 1. General defaults in blacklight config (are trumped by)
|
|
118
|
-
# 2. defaults for the particular search field identified by params[:search_field] (are trumped by)
|
|
119
|
-
# 3. certain parameters directly on input HTTP query params
|
|
120
|
-
# * not just any parameter is grabbed willy nilly, only certain ones are allowed by HTTP input)
|
|
121
|
-
# * for legacy reasons, qt in http query does not over-ride qt in search field definition default.
|
|
122
|
-
# 4. extra parameters passed in as argument.
|
|
123
|
-
#
|
|
124
|
-
# spellcheck.q will be supplied with the [:q] value unless specifically
|
|
125
|
-
# specified otherwise.
|
|
126
|
-
#
|
|
127
|
-
# Incoming parameter :f is mapped to :fq solr parameter.
|
|
128
|
-
#
|
|
129
|
-
# @return a params hash for searching solr.
|
|
130
|
-
def processed_parameters
|
|
131
|
-
request.tap do |request_parameters|
|
|
132
|
-
processor_chain.each do |method_name|
|
|
133
|
-
send(method_name, request_parameters)
|
|
134
|
-
end
|
|
135
|
-
end
|
|
136
|
-
end
|
|
137
|
-
|
|
138
|
-
def params_will_change!
|
|
139
|
-
@dirty = true
|
|
140
|
-
end
|
|
141
|
-
|
|
142
|
-
def params_changed?
|
|
143
|
-
!!@dirty
|
|
144
|
-
end
|
|
145
|
-
|
|
146
|
-
def clear_changes
|
|
147
|
-
@dirty = false
|
|
148
|
-
end
|
|
149
|
-
|
|
150
|
-
def params_need_update?
|
|
151
|
-
params_changed? || @params.nil?
|
|
152
|
-
end
|
|
153
|
-
end
|
|
154
|
-
end
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Blacklight
|
|
4
|
-
class FacetSearchBuilder < AbstractSearchBuilder
|
|
5
|
-
def facet_suggestion_query=(value)
|
|
6
|
-
params_will_change!
|
|
7
|
-
@facet_suggestion_query = value
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def facet_suggestion_query(value = nil)
|
|
11
|
-
if value
|
|
12
|
-
self.facet_suggestion_query = value
|
|
13
|
-
return self
|
|
14
|
-
end
|
|
15
|
-
@facet_suggestion_query
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Blacklight::Solr
|
|
4
|
-
module FacetSearchBuilderBehavior
|
|
5
|
-
extend ActiveSupport::Concern
|
|
6
|
-
|
|
7
|
-
included do
|
|
8
|
-
include Blacklight::Solr::SearchBuilderBehavior
|
|
9
|
-
self.default_processor_chain = [:default_solr_parameters,
|
|
10
|
-
:add_search_field_default_parameters,
|
|
11
|
-
:add_query_to_solr,
|
|
12
|
-
:add_facet_fq_to_solr,
|
|
13
|
-
:add_facetting_to_solr,
|
|
14
|
-
:add_solr_fields_to_query,
|
|
15
|
-
:add_additional_filters,
|
|
16
|
-
:add_facet_paging_to_solr,
|
|
17
|
-
:add_facet_suggestion_parameters]
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def add_facet_paging_to_solr(solr_params)
|
|
21
|
-
return if facet.blank?
|
|
22
|
-
|
|
23
|
-
facet_config = blacklight_config.facet_fields[facet]
|
|
24
|
-
|
|
25
|
-
solr_params[:rows] = 0
|
|
26
|
-
|
|
27
|
-
limit = if solr_params["facet.limit"]
|
|
28
|
-
solr_params["facet.limit"].to_i
|
|
29
|
-
else
|
|
30
|
-
facet_config.fetch(:more_limit, blacklight_config.default_more_limit)
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
page = search_state.facet_page
|
|
34
|
-
sort = search_state.facet_sort
|
|
35
|
-
prefix = search_state.facet_prefix
|
|
36
|
-
offset = (page - 1) * limit
|
|
37
|
-
|
|
38
|
-
if facet_config.json
|
|
39
|
-
add_solr_facet_json_params(solr_parameters, facet, facet_config, limit: limit + 1, offset: offset, sort: sort, prefix: prefix)
|
|
40
|
-
return
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
# Now override with our specific things for fetching facet values
|
|
44
|
-
facet_ex = facet_config.respond_to?(:ex) ? facet_config.ex : nil
|
|
45
|
-
solr_params[:'facet.field'] = with_ex_local_param(facet_ex, facet_config.field)
|
|
46
|
-
|
|
47
|
-
# Need to set as f.facet_field.facet.* to make sure we
|
|
48
|
-
# override any field-specific default in the solr request handler.
|
|
49
|
-
solr_params[:"f.#{facet_config.field}.facet.limit"] = limit + 1
|
|
50
|
-
solr_params[:"f.#{facet_config.field}.facet.offset"] = offset
|
|
51
|
-
solr_params[:"f.#{facet_config.field}.facet.sort"] = sort if sort
|
|
52
|
-
solr_params[:"f.#{facet_config.field}.facet.prefix"] = prefix if prefix
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
def add_facet_suggestion_parameters(solr_params)
|
|
56
|
-
return if facet.blank? || facet_suggestion_query.blank?
|
|
57
|
-
|
|
58
|
-
solr_params[:'facet.contains'] = facet_suggestion_query[0..50]
|
|
59
|
-
solr_params[:'facet.contains.ignoreCase'] = true
|
|
60
|
-
end
|
|
61
|
-
end
|
|
62
|
-
end
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
RSpec.describe Blacklight::FacetSearchBuilder, :api do
|
|
4
|
-
subject(:builder) { described_class.new processor_chain, scope }
|
|
5
|
-
|
|
6
|
-
let(:processor_chain) { [] }
|
|
7
|
-
let(:blacklight_config) { Blacklight::Configuration.new }
|
|
8
|
-
let(:scope) { double blacklight_config: blacklight_config, search_state_class: nil }
|
|
9
|
-
|
|
10
|
-
describe "#facet_suggestion_query" do
|
|
11
|
-
it "is nil if no value is set" do
|
|
12
|
-
expect(subject.facet_suggestion_query).to be_nil
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
it "sets facet_suggestion_query value" do
|
|
16
|
-
expect(subject.facet_suggestion_query('antel').facet_suggestion_query).to eq 'antel'
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|