blacklight 7.18.1 → 7.20.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. data/.env +1 -1
  3. data/.github/workflows/ruby.yml +19 -1
  4. data/.rubocop.yml +4 -0
  5. data/README.md +1 -1
  6. data/VERSION +1 -1
  7. data/app/assets/javascripts/blacklight/blacklight.js +8 -4
  8. data/app/assets/stylesheets/blacklight/_balanced_list.scss +2 -2
  9. data/app/assets/stylesheets/blacklight/_bootstrap_overrides.scss +1 -1
  10. data/app/assets/stylesheets/blacklight/_constraints.scss +8 -5
  11. data/app/assets/stylesheets/blacklight/_controls.scss +9 -1
  12. data/app/assets/stylesheets/blacklight/_facets.scss +5 -3
  13. data/app/assets/stylesheets/blacklight/_header.scss +6 -1
  14. data/app/assets/stylesheets/blacklight/_pagination.scss +1 -1
  15. data/app/assets/stylesheets/blacklight/_twitter_typeahead.scss +1 -0
  16. data/app/components/blacklight/constraint_layout_component.html.erb +1 -1
  17. data/app/components/blacklight/constraints_component.html.erb +2 -2
  18. data/app/components/blacklight/constraints_component.rb +6 -2
  19. data/app/components/blacklight/content_areas_shim.rb +2 -1
  20. data/app/components/blacklight/document_component.rb +10 -10
  21. data/app/components/blacklight/facet_field_component.html.erb +3 -1
  22. data/app/components/blacklight/facet_field_no_layout_component.rb +1 -1
  23. data/app/components/blacklight/facet_item_component.rb +4 -4
  24. data/app/components/blacklight/facet_item_pivot_component.rb +2 -2
  25. data/app/components/blacklight/metadata_field_layout_component.rb +2 -2
  26. data/app/components/blacklight/response/facet_group_component.html.erb +2 -0
  27. data/app/components/blacklight/response/pagination_component.html.erb +1 -1
  28. data/app/components/blacklight/response/view_type_component.html.erb +1 -1
  29. data/app/components/blacklight/search_bar_component.html.erb +3 -3
  30. data/app/components/blacklight/system/dropdown_component.rb +1 -1
  31. data/app/components/blacklight/system/flash_message_component.html.erb +1 -1
  32. data/app/components/blacklight/system/modal_component.html.erb +1 -1
  33. data/app/controllers/concerns/blacklight/bookmarks.rb +0 -3
  34. data/app/controllers/concerns/blacklight/catalog.rb +3 -0
  35. data/app/controllers/concerns/blacklight/controller.rb +9 -5
  36. data/app/controllers/concerns/blacklight/search_context.rb +1 -1
  37. data/app/helpers/blacklight/catalog_helper_behavior.rb +1 -3
  38. data/app/helpers/blacklight/component_helper_behavior.rb +1 -1
  39. data/app/helpers/blacklight/render_partials_helper_behavior.rb +5 -1
  40. data/app/javascript/blacklight/core.js +5 -1
  41. data/app/javascript/blacklight/modal.js +1 -1
  42. data/app/javascript/blacklight/search_context.js +5 -2
  43. data/app/views/blacklight/nav/_bookmark.html.erb +1 -1
  44. data/app/views/bookmarks/index.html.erb +1 -1
  45. data/app/views/catalog/_constraints.html.erb +2 -2
  46. data/app/views/catalog/_document.html.erb +4 -3
  47. data/app/views/catalog/_document_list.html.erb +3 -2
  48. data/app/views/catalog/_home_text.html.erb +3 -3
  49. data/app/views/catalog/_paginate_compact.html.erb +1 -0
  50. data/app/views/catalog/_per_page_widget.html.erb +1 -1
  51. data/app/views/catalog/_search_results.html.erb +2 -2
  52. data/app/views/search_history/index.html.erb +1 -1
  53. data/app/views/shared/_header_navbar.html.erb +3 -3
  54. data/blacklight.gemspec +4 -2
  55. data/config/locales/blacklight.ar.yml +2 -2
  56. data/config/locales/blacklight.ca.yml +2 -2
  57. data/config/locales/blacklight.de.yml +6 -4
  58. data/config/locales/blacklight.en.yml +8 -4
  59. data/config/locales/blacklight.es.yml +5 -3
  60. data/config/locales/blacklight.fr.yml +5 -3
  61. data/config/locales/blacklight.hu.yml +2 -2
  62. data/config/locales/blacklight.it.yml +5 -3
  63. data/config/locales/blacklight.nl.yml +2 -2
  64. data/config/locales/blacklight.pt-BR.yml +1 -1
  65. data/config/locales/blacklight.sq.yml +2 -2
  66. data/config/locales/blacklight.zh.yml +2 -2
  67. data/lib/blacklight/configuration/view_config.rb +3 -1
  68. data/lib/blacklight/configuration.rb +7 -1
  69. data/lib/blacklight/nested_open_struct_with_hash_access.rb +14 -11
  70. data/lib/blacklight/open_struct_with_hash_access.rb +1 -1
  71. data/lib/blacklight/search_builder.rb +1 -1
  72. data/lib/blacklight/search_state/filter_field.rb +9 -0
  73. data/lib/blacklight/solr/request.rb +10 -7
  74. data/lib/blacklight/solr/response/group_response.rb +3 -2
  75. data/lib/blacklight/solr/response/pagination_methods.rb +1 -1
  76. data/lib/blacklight/solr/search_builder_behavior.rb +38 -18
  77. data/lib/blacklight.rb +5 -1
  78. data/lib/generators/blacklight/assets_generator.rb +4 -2
  79. data/lib/generators/blacklight/install_generator.rb +4 -1
  80. data/lib/generators/blacklight/user_generator.rb +1 -1
  81. data/package.json +2 -2
  82. data/spec/components/blacklight/constraint_layout_component_spec.rb +3 -7
  83. data/spec/components/blacklight/facet_field_checkboxes_component_spec.rb +3 -7
  84. data/spec/components/blacklight/facet_field_list_component_spec.rb +3 -7
  85. data/spec/components/blacklight/facet_item_component_spec.rb +8 -8
  86. data/spec/components/blacklight/facet_item_pivot_component_spec.rb +3 -7
  87. data/spec/components/blacklight/hidden_search_state_component_spec.rb +7 -8
  88. data/spec/components/blacklight/metadata_field_component_spec.rb +4 -8
  89. data/spec/features/axe_spec.rb +34 -0
  90. data/spec/features/facet_missing_spec.rb +59 -0
  91. data/spec/features/facets_spec.rb +3 -3
  92. data/spec/helpers/blacklight/configuration_helper_behavior_spec.rb +3 -3
  93. data/spec/helpers/blacklight/facets_helper_behavior_spec.rb +2 -2
  94. data/spec/helpers/blacklight_helper_spec.rb +18 -0
  95. data/spec/lib/blacklight/nested_open_struct_with_hash_access_spec.rb +23 -1
  96. data/spec/lib/blacklight/search_state/filter_field_spec.rb +27 -0
  97. data/spec/models/blacklight/configuration_spec.rb +10 -0
  98. data/spec/models/blacklight/solr/request_spec.rb +0 -1
  99. data/spec/models/blacklight/solr/response/group_response_spec.rb +3 -2
  100. data/spec/models/blacklight/solr/search_builder_spec.rb +27 -1
  101. data/spec/spec_helper.rb +16 -9
  102. data/spec/support/view_component_capybara_test_helpers.rb +8 -0
  103. data/spec/test_app_templates/lib/generators/test_app_generator.rb +0 -3
  104. data/spec/views/catalog/_document.html.erb_spec.rb +9 -0
  105. data/spec/views/catalog/_document_list.html.erb_spec.rb +1 -1
  106. data/spec/views/catalog/_facet_layout.html.erb_spec.rb +2 -2
  107. metadata +45 -11
@@ -320,6 +320,24 @@ RSpec.describe BlacklightHelper do
320
320
  response = helper.render_document_index_with_view :view_type, [obj1, obj1]
321
321
  expect(response).to have_selector "div#documents"
322
322
  end
323
+
324
+ context 'with a template partial provided by the view config' do
325
+ before do
326
+ blacklight_config.view.gallery(template: '/my/partial')
327
+ end
328
+
329
+ def stub_template(hash)
330
+ view.view_paths.unshift(ActionView::FixtureResolver.new(hash))
331
+ end
332
+
333
+ it 'renders that template' do
334
+ stub_template 'my/_partial.html.erb' => 'some content'
335
+
336
+ response = helper.render_document_index_with_view :gallery, [obj1, obj1]
337
+
338
+ expect(response).to eq 'some content'
339
+ end
340
+ end
323
341
  end
324
342
 
325
343
  describe "#document_index_view_type" do
@@ -1,6 +1,26 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  RSpec.describe Blacklight::NestedOpenStructWithHashAccess do
4
+ subject { described_class.new(Blacklight::OpenStructWithHashAccess) }
5
+
6
+ describe '#key' do
7
+ context 'for an object provided by the initializer' do
8
+ subject { described_class.new(Blacklight::OpenStructWithHashAccess, a: { b: 1 }) }
9
+
10
+ it 'copies the key to the initialized value' do
11
+ expect(subject.a).to have_attributes key: :a, b: 1
12
+ end
13
+ end
14
+
15
+ context 'for an object provided through assignment' do
16
+ it 'copies the key to the initialized value' do
17
+ subject.a!
18
+
19
+ expect(subject.a).to have_attributes key: :a
20
+ end
21
+ end
22
+ end
23
+
4
24
  describe "#deep_dup" do
5
25
  it "preserves the current class" do
6
26
  expect(described_class.new(described_class).deep_dup).to be_a_kind_of described_class
@@ -28,13 +48,15 @@ RSpec.describe Blacklight::NestedOpenStructWithHashAccess do
28
48
  subject { described_class.new(Blacklight::Configuration::Field) }
29
49
 
30
50
  it 'strips the trailing !' do
31
- subject.blaH!
51
+ subject.blah!
32
52
  expect(subject.blah).to have_attributes(key: :blah)
53
+ expect(subject.keys).to eq [:blah]
33
54
  end
34
55
 
35
56
  it 'supports direct assignment' do
36
57
  subject.blah = '123'
37
58
  expect(subject.blah).to eq '123'
59
+ expect(subject.keys).to eq [:blah]
38
60
  end
39
61
  end
40
62
  end
@@ -159,6 +159,33 @@ RSpec.describe Blacklight::SearchState::FilterField do
159
159
  expect(new_state.filter('another_field').values).to eq ['3']
160
160
  end
161
161
  end
162
+
163
+ context "With facet.missing field" do
164
+ let(:params) do
165
+ { f: { some_field: [""], "-some_field:": [""] } }
166
+ end
167
+
168
+ it "removes facet.missing facet params" do
169
+ filter = search_state.filter("some_field")
170
+ new_state = filter.remove(OpenStruct.new(fq: "-some_field:[* TO *]"))
171
+
172
+ expect(new_state.params).to eq("f" => {})
173
+ end
174
+ end
175
+
176
+ context "With facet.missing field value" do
177
+ let(:params) do
178
+ { f: { some_field: [""], "-some_field:": [""] } }
179
+ end
180
+
181
+ it "removes facet.missing facet params" do
182
+ missing = I18n.t("blacklight.search.facets.missing")
183
+ filter = search_state.filter("some_field")
184
+ new_state = filter.remove(missing)
185
+
186
+ expect(new_state.params).to eq("f" => {})
187
+ end
188
+ end
162
189
  end
163
190
 
164
191
  describe '#values' do
@@ -621,4 +621,14 @@ RSpec.describe "Blacklight::Configuration", api: true do
621
621
  end
622
622
  end
623
623
  end
624
+
625
+ describe '#freeze' do
626
+ it 'freezes the configuration' do
627
+ config.freeze
628
+
629
+ expect(config.a).to be_nil
630
+ expect { config.a = '123' }.to raise_error(FrozenError)
631
+ expect { config.view.a = '123' }.to raise_error(FrozenError)
632
+ end
633
+ end
624
634
  end
@@ -16,7 +16,6 @@ RSpec.describe Blacklight::Solr::Request, api: true do
16
16
  subject['spellcheck'] = "a"
17
17
  subject['spellcheck.q'] = "fleece"
18
18
  subject['f.title_facet.facet.limit'] = "vest"
19
- subject['facet.field'] = []
20
19
  end
21
20
 
22
21
  it "accepts valid parameters" do
@@ -69,8 +69,9 @@ RSpec.describe Blacklight::Solr::Response::GroupResponse, api: true do
69
69
  it "accesses a custom field grouped i18n key" do
70
70
  allow(I18n).to receive(:t).with(
71
71
  'blacklight.entry_name.grouped.result_group_ssi',
72
- default: :'blacklight.entry_name.grouped.default'
73
- ).and_return('cool group')
72
+ default: :'blacklight.entry_name.grouped.default',
73
+ count: 2
74
+ ).and_return('cool groups')
74
75
  expect(group.entry_name(count: 2)).to eq 'cool groups'
75
76
  end
76
77
 
@@ -27,6 +27,24 @@ RSpec.describe Blacklight::Solr::SearchBuilderBehavior, api: true do
27
27
  it "uses the class-level default_processor_chain" do
28
28
  expect(subject.processor_chain).to eq search_builder_class.default_processor_chain
29
29
  end
30
+
31
+ it "appends the :add_missing_field_query processor" do
32
+ expect(subject.processor_chain).to include(:add_missing_field_query)
33
+ end
34
+ end
35
+
36
+ context 'with merged parameters from the defaults + the search field' do
37
+ before do
38
+ blacklight_config.default_solr_params = { json: { whatever: [1, 2, 3] } }
39
+ blacklight_config.search_fields['all_fields'].solr_parameters = { json: { and_also: [4, 5, 6] } }
40
+ end
41
+
42
+ let(:user_params) { { search_field: 'all_fields' } }
43
+
44
+ it 'deep merges hash values' do
45
+ expect(subject.to_hash.dig(:json, :whatever)).to eq [1, 2, 3]
46
+ expect(subject.to_hash.dig(:json, :and_also)).to eq [4, 5, 6]
47
+ end
30
48
  end
31
49
 
32
50
  context "with a complex parameter environment" do
@@ -304,7 +322,6 @@ RSpec.describe Blacklight::Solr::SearchBuilderBehavior, api: true do
304
322
 
305
323
  it "does not include weird keys not in field definition" do
306
324
  expect(subject[:phrase_filters]).to be_nil
307
- expect(subject[:fq]).to eq []
308
325
  expect(subject[:commit]).to be_nil
309
326
  expect(subject[:action]).to be_nil
310
327
  expect(subject[:controller]).to be_nil
@@ -809,4 +826,13 @@ RSpec.describe Blacklight::Solr::SearchBuilderBehavior, api: true do
809
826
  expect(subject.to_hash).to include q: '{!lucene}id:(1 OR 2 OR 3)'
810
827
  end
811
828
  end
829
+
830
+ describe "#add_missing_field_query" do
831
+ it "precesses facet.missing query" do
832
+ subject.with("f" => { "-hello:" => [""] })
833
+ solr_params = { "facet.missing" => true, fq: [] }
834
+
835
+ expect(subject.add_missing_field_query(solr_params)).to eq(["-hello:[* TO *]"])
836
+ end
837
+ end
812
838
  end
data/spec/spec_helper.rb CHANGED
@@ -19,18 +19,24 @@ EngineCart.load_application!
19
19
  require 'rspec/rails'
20
20
  require 'rspec/its'
21
21
  require 'rspec/collection_matchers'
22
- require 'capybara/rspec'
23
- require 'capybara/apparition'
22
+ require 'capybara/rails'
23
+ require 'webdrivers'
24
+ require 'selenium-webdriver'
24
25
  require 'equivalent-xml'
26
+ require 'axe-rspec'
25
27
 
26
- Capybara.javascript_driver = :apparition
27
- Capybara.disable_animation = true
28
- # Capybara.enable_aria_label = true
28
+ Capybara.javascript_driver = :headless_chrome
29
29
 
30
- # Uncomment for a headed browser
31
- # Capybara.register_driver :apparition do |app|
32
- # Capybara::Apparition::Driver.new(app, headless: false)
33
- # end
30
+ Capybara.register_driver :headless_chrome do |app|
31
+ Capybara::Selenium::Driver.load_selenium
32
+ browser_options = ::Selenium::WebDriver::Chrome::Options.new.tap do |opts|
33
+ opts.args << '--headless'
34
+ opts.args << '--disable-gpu'
35
+ opts.args << '--no-sandbox'
36
+ opts.args << '--window-size=1280,1696'
37
+ end
38
+ Capybara::Selenium::Driver.new(app, browser: :chrome, options: browser_options)
39
+ end
34
40
 
35
41
  # Requires supporting ruby files with custom matchers and macros, etc,
36
42
  # in spec/support/ and its subdirectories.
@@ -62,6 +68,7 @@ RSpec.configure do |config|
62
68
  config.infer_spec_type_from_file_location!
63
69
  config.include PresenterTestHelpers, type: :presenter
64
70
  config.include ViewComponent::TestHelpers, type: :component
71
+ config.include ViewComponentCapybaraTestHelpers, type: :component
65
72
 
66
73
  config.include(ControllerLevelHelpers, type: :helper)
67
74
  config.before(:each, type: :helper) { initialize_controller_helpers(helper) }
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ViewComponentCapybaraTestHelpers
4
+ # Work around for https://github.com/teamcapybara/capybara/issues/2466
5
+ def render_inline_to_capybara_node(component)
6
+ Capybara::Node::Simple.new(render_inline(component).to_s)
7
+ end
8
+ end
@@ -17,9 +17,6 @@ class TestAppGenerator < Rails::Generators::Base
17
17
  options = '--devise'
18
18
  if ENV['BLACKLIGHT_API_TEST']
19
19
  options += ' --skip-assets'
20
- inject_into_class 'app/controllers/application_controller.rb', 'ApplicationController' do
21
- " include ActionController::MimeResponds\n" # see https://github.com/projectblacklight/blacklight/issues/1894
22
- end
23
20
  end
24
21
 
25
22
  generate 'blacklight:install', options
@@ -46,4 +46,13 @@ RSpec.describe "catalog/_document" do
46
46
  expect(rendered).to have_selector 'article.document header', text: '22. xyz'
47
47
  expect(rendered).not_to match(/partial/)
48
48
  end
49
+
50
+ it 'renders the partial using a provided view config' do
51
+ view_config = Blacklight::Configuration::ViewConfig.new partials: %w[a]
52
+ stub_template "catalog/_a_default.html.erb" => "partial"
53
+
54
+ render partial: "catalog/document", locals: { document: document, document_counter: 1, view_config: view_config }
55
+
56
+ expect(rendered).to match(/partial/)
57
+ end
49
58
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  RSpec.describe "catalog/_document_list", type: :view do
4
4
  before do
5
- allow(view).to receive_messages(document_index_view_type: "some-view", documents: [])
5
+ allow(view).to receive_messages(document_index_view_type: "some-view", documents: [], blacklight_config: nil)
6
6
  end
7
7
 
8
8
  it "includes a class for the current view" do
@@ -27,14 +27,14 @@ RSpec.describe "catalog/facet_layout" do
27
27
 
28
28
  it "is collapsable" do
29
29
  render partial: 'catalog/facet_layout', locals: { facet_field: facet_field }
30
- expect(rendered).to have_selector 'button.collapsed[data-toggle="collapse"][aria-expanded="false"]'
30
+ expect(rendered).to have_selector 'button.collapsed[data-toggle="collapse"][data-bs-toggle="collapse"][aria-expanded="false"]'
31
31
  expect(rendered).to have_selector '.collapse .card-body'
32
32
  end
33
33
 
34
34
  it "is configured to be open by default" do
35
35
  allow(facet_field).to receive_messages(collapse: false)
36
36
  render partial: 'catalog/facet_layout', locals: { facet_field: facet_field }
37
- expect(rendered).to have_selector 'button[data-toggle="collapse"][aria-expanded="true"]'
37
+ expect(rendered).to have_selector 'button[data-toggle="collapse"][data-bs-toggle="collapse"][aria-expanded="true"]'
38
38
  expect(rendered).not_to have_selector '.card-header.collapsed'
39
39
  expect(rendered).to have_selector '.collapse.show .card-body'
40
40
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blacklight
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.18.1
4
+ version: 7.20.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Rochkind
@@ -14,10 +14,10 @@ authors:
14
14
  - Dan Funk
15
15
  - Naomi Dushay
16
16
  - Justin Coyne
17
- autorequire:
17
+ autorequire:
18
18
  bindir: exe
19
19
  cert_chain: []
20
- date: 2021-04-26 00:00:00.000000000 Z
20
+ date: 2021-11-01 00:00:00.000000000 Z
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
23
23
  name: rails
@@ -127,16 +127,16 @@ dependencies:
127
127
  name: view_component
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  requirements:
130
- - - ">="
130
+ - - "~>"
131
131
  - !ruby/object:Gem::Version
132
- version: 2.28.0
132
+ version: 2.42.0
133
133
  type: :runtime
134
134
  prerelease: false
135
135
  version_requirements: !ruby/object:Gem::Requirement
136
136
  requirements:
137
- - - ">="
137
+ - - "~>"
138
138
  - !ruby/object:Gem::Version
139
- version: 2.28.0
139
+ version: 2.42.0
140
140
  - !ruby/object:Gem::Dependency
141
141
  name: rsolr
142
142
  requirement: !ruby/object:Gem::Requirement
@@ -199,6 +199,20 @@ dependencies:
199
199
  - - ">="
200
200
  - !ruby/object:Gem::Version
201
201
  version: '1.0'
202
+ - !ruby/object:Gem::Dependency
203
+ name: axe-core-rspec
204
+ requirement: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ type: :development
210
+ prerelease: false
211
+ version_requirements: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
202
216
  - !ruby/object:Gem::Dependency
203
217
  name: capybara
204
218
  requirement: !ruby/object:Gem::Requirement
@@ -214,7 +228,21 @@ dependencies:
214
228
  - !ruby/object:Gem::Version
215
229
  version: '3'
216
230
  - !ruby/object:Gem::Dependency
217
- name: apparition
231
+ name: webdrivers
232
+ requirement: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ type: :development
238
+ prerelease: false
239
+ version_requirements: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ - !ruby/object:Gem::Dependency
245
+ name: selenium-webdriver
218
246
  requirement: !ruby/object:Gem::Requirement
219
247
  requirements:
220
248
  - - ">="
@@ -762,8 +790,10 @@ files:
762
790
  - spec/features/advanced_search_spec.rb
763
791
  - spec/features/alternate_controller_spec.rb
764
792
  - spec/features/autocomplete_spec.rb
793
+ - spec/features/axe_spec.rb
765
794
  - spec/features/bookmarks_spec.rb
766
795
  - spec/features/did_you_mean_spec.rb
796
+ - spec/features/facet_missing_spec.rb
767
797
  - spec/features/facets_spec.rb
768
798
  - spec/features/record_view_spec.rb
769
799
  - spec/features/search_context_spec.rb
@@ -849,6 +879,7 @@ files:
849
879
  - spec/support/features.rb
850
880
  - spec/support/features/session_helpers.rb
851
881
  - spec/support/presenter_test_helpers.rb
882
+ - spec/support/view_component_capybara_test_helpers.rb
852
883
  - spec/test_app_templates/Gemfile.extra
853
884
  - spec/test_app_templates/lib/generators/test_app_generator.rb
854
885
  - spec/views/catalog/_constraints.html.erb_spec.rb
@@ -887,7 +918,7 @@ homepage: http://projectblacklight.org/
887
918
  licenses:
888
919
  - Apache 2.0
889
920
  metadata: {}
890
- post_install_message:
921
+ post_install_message:
891
922
  rdoc_options: []
892
923
  require_paths:
893
924
  - lib
@@ -902,8 +933,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
902
933
  - !ruby/object:Gem::Version
903
934
  version: '0'
904
935
  requirements: []
905
- rubygems_version: 3.2.3
906
- signing_key:
936
+ rubygems_version: 3.1.2
937
+ signing_key:
907
938
  specification_version: 4
908
939
  summary: Blacklight provides a discovery interface for any Solr (http://lucene.apache.org/solr)
909
940
  index.
@@ -933,8 +964,10 @@ test_files:
933
964
  - spec/features/advanced_search_spec.rb
934
965
  - spec/features/alternate_controller_spec.rb
935
966
  - spec/features/autocomplete_spec.rb
967
+ - spec/features/axe_spec.rb
936
968
  - spec/features/bookmarks_spec.rb
937
969
  - spec/features/did_you_mean_spec.rb
970
+ - spec/features/facet_missing_spec.rb
938
971
  - spec/features/facets_spec.rb
939
972
  - spec/features/record_view_spec.rb
940
973
  - spec/features/search_context_spec.rb
@@ -1020,6 +1053,7 @@ test_files:
1020
1053
  - spec/support/features.rb
1021
1054
  - spec/support/features/session_helpers.rb
1022
1055
  - spec/support/presenter_test_helpers.rb
1056
+ - spec/support/view_component_capybara_test_helpers.rb
1023
1057
  - spec/test_app_templates/Gemfile.extra
1024
1058
  - spec/test_app_templates/lib/generators/test_app_generator.rb
1025
1059
  - spec/views/catalog/_constraints.html.erb_spec.rb