blacklight_range_limit 6.5.0 → 7.0.0.rc1

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.
Files changed (32) hide show
  1. checksums.yaml +5 -5
  2. data/.solr_wrapper.yml +0 -1
  3. data/.travis.yml +3 -4
  4. data/Gemfile +0 -4
  5. data/Rakefile +2 -0
  6. data/VERSION +1 -1
  7. data/app/assets/javascripts/blacklight_range_limit/range_limit_distro_facets.js +3 -4
  8. data/app/assets/javascripts/blacklight_range_limit/range_limit_shared.js +6 -6
  9. data/app/assets/javascripts/blacklight_range_limit/range_limit_slider.js +0 -1
  10. data/app/views/blacklight_range_limit/_range_limit_panel.html.erb +31 -33
  11. data/blacklight_range_limit.gemspec +5 -7
  12. data/lib/blacklight_range_limit.rb +1 -1
  13. data/lib/blacklight_range_limit/controller_override.rb +1 -16
  14. data/lib/blacklight_range_limit/engine.rb +1 -0
  15. data/lib/blacklight_range_limit/range_limit_builder.rb +19 -21
  16. data/lib/blacklight_range_limit/segment_calculation.rb +1 -3
  17. data/lib/blacklight_range_limit/view_helper_override.rb +39 -26
  18. data/lib/generators/blacklight_range_limit/assets_generator.rb +3 -0
  19. data/lib/generators/blacklight_range_limit/install_generator.rb +1 -1
  20. data/lib/tasks/blacklight_range_limit.rake +1 -1
  21. data/solr/conf/schema.xml +325 -564
  22. data/solr/conf/solrconfig.xml +78 -294
  23. data/solr/sample_solr_documents.yml +30 -30
  24. data/spec/features/blacklight_range_limit_spec.rb +12 -20
  25. data/spec/fixtures/solr_documents/zero_year.yml +2 -2
  26. data/spec/lib/blacklight_range_limit/segment_calculation_spec.rb +0 -14
  27. data/spec/spec_helper.rb +0 -15
  28. data/spec/test_app_templates/Gemfile.extra +1 -1
  29. data/spec/test_app_templates/lib/generators/test_app_generator.rb +1 -1
  30. metadata +18 -55
  31. data/spec/features/a_javascript_spec.rb +0 -25
  32. data/spec/lib/blacklight_range_limit/view_helper_override_helper_spec.rb +0 -127
@@ -6,8 +6,8 @@ describe "Blacklight Range Limit" do
6
6
  visit search_catalog_path
7
7
  expect(page).to have_selector 'input.range_begin'
8
8
  expect(page).to have_selector 'input.range_end'
9
- expect(page).to have_selector 'label.sr-only[for="range_pub_date_sort_begin"]', :text => 'Publication Date Sort range begin'
10
- expect(page).to have_selector 'label.sr-only[for="range_pub_date_sort_end"]', :text => 'Publication Date Sort range end'
9
+ expect(page).to have_selector 'label.sr-only[for="range_pub_date_si_begin"]', :text => 'Publication Date Sort range begin'
10
+ expect(page).to have_selector 'label.sr-only[for="range_pub_date_si_end"]', :text => 'Publication Date Sort range end'
11
11
  expect(page).to have_button 'Limit'
12
12
  end
13
13
 
@@ -24,15 +24,7 @@ describe "Blacklight Range Limit" do
24
24
  click_link 'View distribution'
25
25
  click_link '2000 to 2008'
26
26
 
27
- within '.blacklight-pub_date_sort' do
28
- expect(page).to have_content "2000 to 2008 [remove] 12"
29
- end
30
-
31
- within '#appliedParams' do
32
- expect(page).to have_content '2000 to 2008'
33
- end
34
-
35
- expect(page).to have_content '1 - 10 of 12'
27
+ expect(page).to have_content "2000 to 2008 [remove] 12"
36
28
  end
37
29
 
38
30
  it "should not include page parameter" do
@@ -45,7 +37,7 @@ describe "Blacklight Range Limit" do
45
37
 
46
38
  context 'when I18n translation is available' do
47
39
  before do
48
- I18n.backend.store_translations(:en, blacklight: {search: {fields: {facet: {pub_date_sort: 'Publication Date I18n'}}}})
40
+ I18n.backend.store_translations(:en, blacklight: {search: {fields: {facet: {pub_date_si: 'Publication Date I18n'}}}})
49
41
  end
50
42
 
51
43
  it 'should render the I18n label' do
@@ -63,21 +55,21 @@ describe "Blacklight Range Limit with configured input labels" do
63
55
  before do
64
56
  CatalogController.blacklight_config = Blacklight::Configuration.new
65
57
  CatalogController.configure_blacklight do |config|
66
- config.add_facet_field 'pub_date_sort', range: {
58
+ config.add_facet_field 'pub_date_si', range: {
67
59
  input_label_range_begin: 'from publication date',
68
60
  input_label_range_end: 'to publication date',
69
61
  maxlength: 6
70
62
  }
71
63
  config.default_solr_params[:'facet.field'] = config.facet_fields.keys
72
- end
73
- end
74
-
64
+ end
65
+ end
66
+
75
67
  it "should show the range limit facet with configured labels and maxlength" do
76
68
  visit '/catalog'
77
- expect(page).to have_selector 'label.sr-only[for="range_pub_date_sort_begin"]', :text => 'from publication date'
78
- expect(page).to have_selector 'label.sr-only[for="range_pub_date_sort_end"]', :text => 'to publication date'
79
- expect(page).to have_selector 'input#range_pub_date_sort_begin[maxlength="6"]'
80
- expect(page).to have_selector 'input#range_pub_date_sort_end[maxlength="6"]'
69
+ expect(page).to have_selector 'label.sr-only[for="range_pub_date_si_begin"]', :text => 'from publication date'
70
+ expect(page).to have_selector 'label.sr-only[for="range_pub_date_si_end"]', :text => 'to publication date'
71
+ expect(page).to have_selector 'input#range_pub_date_si_begin[maxlength="6"]'
72
+ expect(page).to have_selector 'input#range_pub_date_si_end[maxlength="6"]'
81
73
  end
82
74
 
83
75
  end
@@ -1,3 +1,3 @@
1
1
  id: 'zero_doc_id'
2
- title_display: 'Zero year doc'
3
- pub_date: 1000
2
+ title_tsim: 'Zero year doc'
3
+ pub_date_si: 1000
@@ -4,10 +4,6 @@ RSpec.describe BlacklightRangeLimit::SegmentCalculation do
4
4
  let(:dummy_class) do
5
5
  Class.new do
6
6
  include BlacklightRangeLimit::SegmentCalculation
7
-
8
- def blacklight_config
9
- Blacklight::Configuration.new
10
- end
11
7
  end
12
8
  end
13
9
 
@@ -49,15 +45,5 @@ RSpec.describe BlacklightRangeLimit::SegmentCalculation do
49
45
  'The min date must be before the max date'
50
46
  end
51
47
  end
52
-
53
- context 'when a field that does not exist is passed in' do
54
- let(:min) { 100 }
55
- let(:max) { 800 }
56
- let(:solr_field) { 'i_am_not_real' }
57
-
58
- it 'returns the original solr_params (and does not raise an error)' do
59
- expect(subject).to eq({})
60
- end
61
- end
62
48
  end
63
49
  end
@@ -5,21 +5,6 @@ EngineCart.load_application!
5
5
 
6
6
  require 'rspec/rails'
7
7
  require 'capybara/rspec'
8
- require 'selenium-webdriver'
9
- require 'webdrivers'
10
-
11
- Capybara.javascript_driver = :headless_chrome
12
-
13
- Capybara.register_driver :headless_chrome do |app|
14
- Capybara::Selenium::Driver.load_selenium
15
- browser_options = ::Selenium::WebDriver::Chrome::Options.new.tap do |opts|
16
- opts.args << '--headless'
17
- opts.args << '--disable-gpu'
18
- opts.args << '--no-sandbox'
19
- opts.args << '--window-size=1280,1696'
20
- end
21
- Capybara::Selenium::Driver.new(app, browser: :chrome, options: browser_options)
22
- end
23
8
 
24
9
  RSpec.configure do |config|
25
10
  # rspec-rails 3 will no longer automatically infer an example group's spec type
@@ -1 +1 @@
1
- gem 'sprockets', '< 4'
1
+ gem 'blacklight', github: 'projectblacklight/blacklight', branch: 'master'
@@ -27,7 +27,7 @@ class TestAppGenerator < Rails::Generators::Base
27
27
 
28
28
  def inject_into_catalog_controller
29
29
  inject_into_file 'app/controllers/catalog_controller.rb', after: /config.add_facet_field 'format'.*$/ do
30
- "\n config.add_facet_field 'pub_date_sort', label: 'Publication Date Sort', range: true"
30
+ "\n config.add_facet_field 'pub_date_si', label: 'Publication Date Sort', range: true"
31
31
  end
32
32
  end
33
33
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blacklight_range_limit
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.5.0
4
+ version: 7.0.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Rochkind
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-06-26 00:00:00.000000000 Z
12
+ date: 2018-07-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -17,20 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: '4.2'
21
- - - "<"
22
- - !ruby/object:Gem::Version
23
- version: '6'
20
+ version: '3.0'
24
21
  type: :runtime
25
22
  prerelease: false
26
23
  version_requirements: !ruby/object:Gem::Requirement
27
24
  requirements:
28
25
  - - ">="
29
26
  - !ruby/object:Gem::Version
30
- version: '4.2'
31
- - - "<"
32
- - !ruby/object:Gem::Version
33
- version: '6'
27
+ version: '3.0'
34
28
  - !ruby/object:Gem::Dependency
35
29
  name: jquery-rails
36
30
  requirement: !ruby/object:Gem::Requirement
@@ -49,24 +43,24 @@ dependencies:
49
43
  name: blacklight
50
44
  requirement: !ruby/object:Gem::Requirement
51
45
  requirements:
52
- - - "~>"
46
+ - - ">="
53
47
  - !ruby/object:Gem::Version
54
- version: '6.10'
48
+ version: '0'
55
49
  type: :runtime
56
50
  prerelease: false
57
51
  version_requirements: !ruby/object:Gem::Requirement
58
52
  requirements:
59
- - - "~>"
53
+ - - ">="
60
54
  - !ruby/object:Gem::Version
61
- version: '6.10'
55
+ version: '0'
62
56
  - !ruby/object:Gem::Dependency
63
- name: chromedriver-helper
57
+ name: tether-rails
64
58
  requirement: !ruby/object:Gem::Requirement
65
59
  requirements:
66
60
  - - ">="
67
61
  - !ruby/object:Gem::Version
68
62
  version: '0'
69
- type: :development
63
+ type: :runtime
70
64
  prerelease: false
71
65
  version_requirements: !ruby/object:Gem::Requirement
72
66
  requirements:
@@ -143,62 +137,34 @@ dependencies:
143
137
  - - ">="
144
138
  - !ruby/object:Gem::Version
145
139
  version: '0'
146
- - !ruby/object:Gem::Dependency
147
- name: selenium-webdriver
148
- requirement: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: '0'
153
- type: :development
154
- prerelease: false
155
- version_requirements: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- version: '0'
160
140
  - !ruby/object:Gem::Dependency
161
141
  name: solr_wrapper
162
142
  requirement: !ruby/object:Gem::Requirement
163
143
  requirements:
164
144
  - - "~>"
165
145
  - !ruby/object:Gem::Version
166
- version: '2.2'
146
+ version: '0.14'
167
147
  type: :development
168
148
  prerelease: false
169
149
  version_requirements: !ruby/object:Gem::Requirement
170
150
  requirements:
171
151
  - - "~>"
172
152
  - !ruby/object:Gem::Version
173
- version: '2.2'
153
+ version: '0.14'
174
154
  - !ruby/object:Gem::Dependency
175
155
  name: engine_cart
176
156
  requirement: !ruby/object:Gem::Requirement
177
157
  requirements:
178
158
  - - "~>"
179
159
  - !ruby/object:Gem::Version
180
- version: '2.0'
160
+ version: '1.0'
181
161
  type: :development
182
162
  prerelease: false
183
163
  version_requirements: !ruby/object:Gem::Requirement
184
164
  requirements:
185
165
  - - "~>"
186
166
  - !ruby/object:Gem::Version
187
- version: '2.0'
188
- - !ruby/object:Gem::Dependency
189
- name: webdrivers
190
- requirement: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - ">="
193
- - !ruby/object:Gem::Version
194
- version: '0'
195
- type: :development
196
- prerelease: false
197
- version_requirements: !ruby/object:Gem::Requirement
198
- requirements:
199
- - - ">="
200
- - !ruby/object:Gem::Version
201
- version: '0'
167
+ version: '1.0'
202
168
  description:
203
169
  email:
204
170
  - blacklight-development@googlegroups.com
@@ -262,12 +228,10 @@ files:
262
228
  - solr/conf/xslt/example_rss.xsl
263
229
  - solr/conf/xslt/luke.xsl
264
230
  - solr/sample_solr_documents.yml
265
- - spec/features/a_javascript_spec.rb
266
231
  - spec/features/blacklight_range_limit_spec.rb
267
232
  - spec/fixtures/solr_documents/zero_year.yml
268
233
  - spec/helpers/blacklight_range_limit_helper_spec.rb
269
234
  - spec/lib/blacklight_range_limit/segment_calculation_spec.rb
270
- - spec/lib/blacklight_range_limit/view_helper_override_helper_spec.rb
271
235
  - spec/spec_helper.rb
272
236
  - spec/test_app_templates/Gemfile.extra
273
237
  - spec/test_app_templates/lib/generators/test_app_generator.rb
@@ -291,21 +255,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
291
255
  version: '0'
292
256
  required_rubygems_version: !ruby/object:Gem::Requirement
293
257
  requirements:
294
- - - ">="
258
+ - - ">"
295
259
  - !ruby/object:Gem::Version
296
- version: '0'
260
+ version: 1.3.1
297
261
  requirements: []
298
- rubygems_version: 3.1.2
262
+ rubyforge_project:
263
+ rubygems_version: 2.6.11
299
264
  signing_key:
300
265
  specification_version: 4
301
266
  summary: Blacklight Range Limit plugin
302
267
  test_files:
303
- - spec/features/a_javascript_spec.rb
304
268
  - spec/features/blacklight_range_limit_spec.rb
305
269
  - spec/fixtures/solr_documents/zero_year.yml
306
270
  - spec/helpers/blacklight_range_limit_helper_spec.rb
307
271
  - spec/lib/blacklight_range_limit/segment_calculation_spec.rb
308
- - spec/lib/blacklight_range_limit/view_helper_override_helper_spec.rb
309
272
  - spec/spec_helper.rb
310
273
  - spec/test_app_templates/Gemfile.extra
311
274
  - spec/test_app_templates/lib/generators/test_app_generator.rb
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- describe 'JavaScript', js: true do
6
- context 'when assumed boundaries configured' do
7
- before do
8
- CatalogController.blacklight_config.facet_fields['pub_date_sort'].range = {
9
- assumed_boundaries: [1990, 2000]
10
- }
11
- end
12
-
13
- after do
14
- CatalogController.blacklight_config.facet_fields['pub_date_sort'].range = true
15
- end
16
-
17
- it 'should show the range limit with set boundaries' do
18
- visit '/catalog'
19
-
20
- click_link 'Publication Date Sort'
21
- expect(page).to have_field :range_pub_date_sort_begin, with: '1990'
22
- expect(page).to have_field :range_pub_date_sort_end, with: '2000'
23
- end
24
- end
25
- end
@@ -1,127 +0,0 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe BlacklightRangeLimit::ViewHelperOverride, type: :helper do
4
- describe '#render_constraints_filters' do
5
- before do
6
- allow(helper).to receive_messages(
7
- facet_field_label: 'Date Range',
8
- remove_range_param: '/remove'
9
- )
10
- end
11
-
12
- it 'does not return any content when the range parameter invalid' do
13
- params = ActionController::Parameters.new(range: 'garbage')
14
-
15
- expect(helper.render_constraints_filters(params)).to eq ''
16
- end
17
-
18
- it 'renders a constraint for the given data in the range param' do
19
- params = ActionController::Parameters.new(
20
- range: { range_field: { 'begin' => 1900, 'end' => 2000 } }
21
- )
22
- constraints = helper.render_constraints_filters(params)
23
-
24
- expect(constraints).to have_css(
25
- '.constraint .filterName', text: 'Date Range'
26
- )
27
- expect(constraints).to have_css(
28
- '.constraint .filterValue', text: '1900 to 2000'
29
- )
30
- end
31
- end
32
-
33
- describe 'render_search_to_s_filters' do
34
- before do
35
- allow(helper).to receive_messages(facet_field_label: 'Date Range')
36
- end
37
-
38
- it 'does not return any content when the range parameter invalid' do
39
- params = ActionController::Parameters.new(range: 'garbage')
40
-
41
- expect(helper.render_search_to_s_filters(params)).to eq ''
42
- end
43
-
44
- it 'renders a constraint for the given data in the range param' do
45
- params = ActionController::Parameters.new(
46
- range: { range_field: { 'begin' => 1900, 'end' => 2000 } }
47
- )
48
- constraints = helper.render_search_to_s_filters(params)
49
-
50
- expect(constraints).to have_css(
51
- '.constraint .filterName', text: 'Date Range:'
52
- )
53
- expect(constraints).to have_css(
54
- '.constraint .filterValues', text: '1900 to 2000'
55
- )
56
- end
57
- end
58
-
59
- describe '#range_params' do
60
- it 'handles no range input' do
61
- expect(
62
- helper.send(:range_params, ActionController::Parameters.new(q: 'blah'))
63
- ).to eq({})
64
- end
65
-
66
- it 'handles non-compliant range input' do
67
- expect(
68
- helper.send(:range_params, ActionController::Parameters.new(range: 'blah'))
69
- ).to eq({})
70
-
71
- expect(
72
- helper.send(:range_params, ActionController::Parameters.new(range: ['blah']))
73
- ).to eq({})
74
-
75
- expect(
76
- helper.send(:range_params, ActionController::Parameters.new(range: { 'wrong' => 'data' }))
77
- ).to eq({})
78
-
79
- expect(
80
- helper.send(
81
- :range_params,
82
- ActionController::Parameters.new(range: { field_name: { 'wrong' => 'data' } })
83
- )
84
- ).to eq({})
85
-
86
- expect(
87
- helper.send(
88
- :range_params,
89
- ActionController::Parameters.new(range: { field_name: { 'begin' => '', 'end' => '' } })
90
- )
91
- ).to eq({})
92
- end
93
-
94
- it 'returns the range parameters that are present' do
95
- expect(
96
- helper.send(
97
- :range_params,
98
- ActionController::Parameters.new(range: { field_name: { 'missing' => true } })
99
- ).permit!.to_h
100
- ).to eq({ 'field_name' => { 'missing' => true } })
101
-
102
- expect(
103
- helper.send(
104
- :range_params,
105
- ActionController::Parameters.new(range: { field_name: { 'begin' => '1800', 'end' => '1900' } })
106
- ).permit!.to_h
107
- ).to eq({ 'field_name' => { 'begin' => '1800', 'end' => '1900' } })
108
-
109
- expect(
110
- helper.send(
111
- :range_params,
112
- ActionController::Parameters.new(
113
- range: {
114
- field_name: { 'begin' => '1800', 'end' => '1900' },
115
- field_name2: { 'begin' => '1800', 'end' => '1900' }
116
- }
117
- )
118
- ).permit!.to_h
119
- ).to eq(
120
- {
121
- 'field_name' => { 'begin' => '1800', 'end' => '1900' },
122
- 'field_name2' => { 'begin' => '1800', 'end' => '1900' }
123
- }
124
- )
125
- end
126
- end
127
- end