blacklight 5.5.1 → 5.5.2

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 (62) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/VERSION +1 -1
  4. data/app/helpers/blacklight/blacklight_helper_behavior.rb +8 -16
  5. data/app/helpers/blacklight/catalog_helper_behavior.rb +1 -1
  6. data/app/helpers/blacklight/facets_helper_behavior.rb +1 -1
  7. data/app/helpers/blacklight/render_constraints_helper_behavior.rb +2 -1
  8. data/app/helpers/blacklight/url_helper_behavior.rb +5 -1
  9. data/app/views/catalog/_view_type_group.html.erb +1 -1
  10. data/blacklight.gemspec +2 -1
  11. data/gemfiles/rails3.gemfile +1 -1
  12. data/gemfiles/rails4.1.gemfile +1 -1
  13. data/gemfiles/rails4.gemfile +1 -1
  14. data/lib/blacklight/catalog.rb +0 -1
  15. data/lib/blacklight/solr/facet_paginator.rb +22 -10
  16. data/lib/generators/blacklight/install_generator.rb +1 -1
  17. data/spec/controllers/bookmarks_controller_spec.rb +6 -6
  18. data/spec/controllers/catalog_controller_spec.rb +48 -48
  19. data/spec/features/alternate_controller_spec.rb +3 -3
  20. data/spec/features/record_view_spec.rb +1 -1
  21. data/spec/features/search_filters_spec.rb +4 -4
  22. data/spec/features/search_results_spec.rb +12 -12
  23. data/spec/helpers/blacklight_helper_spec.rb +83 -83
  24. data/spec/helpers/catalog_helper_spec.rb +37 -37
  25. data/spec/helpers/configuration_helper_spec.rb +39 -39
  26. data/spec/helpers/facets_helper_spec.rb +37 -37
  27. data/spec/helpers/render_constraints_helper_spec.rb +6 -1
  28. data/spec/helpers/search_history_constraints_helper_spec.rb +9 -9
  29. data/spec/helpers/url_helper_spec.rb +49 -39
  30. data/spec/lib/blacklight/configurable_spec.rb +5 -5
  31. data/spec/lib/blacklight/configuration_spec.rb +8 -8
  32. data/spec/lib/blacklight/facet_paginator_spec.rb +25 -0
  33. data/spec/lib/blacklight/routes_spec.rb +4 -4
  34. data/spec/lib/blacklight/search_fields_spec.rb +3 -3
  35. data/spec/lib/blacklight/solr/document_spec.rb +2 -2
  36. data/spec/lib/blacklight/solr_helper_spec.rb +37 -37
  37. data/spec/lib/blacklight/solr_response/group_response_spec.rb +1 -1
  38. data/spec/lib/blacklight/solr_response_spec.rb +31 -31
  39. data/spec/lib/document_presenter_spec.rb +41 -41
  40. data/spec/lib/tasks/blacklight_task_spec.rb +1 -1
  41. data/spec/models/record_mailer_spec.rb +1 -1
  42. data/spec/models/search_spec.rb +1 -1
  43. data/spec/routing/catalog_routing_spec.rb +2 -2
  44. data/spec/spec_helper.rb +1 -0
  45. data/spec/support/include_text.rb +2 -3
  46. data/spec/views/catalog/_constraints.html.erb_spec.rb +7 -7
  47. data/spec/views/catalog/_document.html.erb_spec.rb +4 -4
  48. data/spec/views/catalog/_facet_layout.html.erb_spec.rb +2 -2
  49. data/spec/views/catalog/_facets.html.erb_spec.rb +6 -6
  50. data/spec/views/catalog/_index_default.erb_spec.rb +10 -10
  51. data/spec/views/catalog/_index_header_default.html.erb_spec.rb +5 -5
  52. data/spec/views/catalog/_show_default.erb_spec.rb +10 -10
  53. data/spec/views/catalog/_show_sidebar.erb_spec.rb +5 -5
  54. data/spec/views/catalog/_sort_and_per_page.html.erb_spec.rb +1 -1
  55. data/spec/views/catalog/_thumbnail_default.erb_spec.rb +4 -4
  56. data/spec/views/catalog/_view_type_group.html.erb_spec.rb +5 -2
  57. data/spec/views/catalog/facet.html.erb_spec.rb +5 -5
  58. data/spec/views/catalog/index.atom.builder_spec.rb +2 -2
  59. data/spec/views/catalog/index.html.erb_spec.rb +5 -5
  60. data/spec/views/catalog/show.html.erb_spec.rb +8 -8
  61. data/tasks/blacklight.rake +1 -2
  62. metadata +18 -4
@@ -14,7 +14,7 @@ describe CatalogHelper do
14
14
 
15
15
  mock_response = Kaminari.paginate_array(mock_docs).page(current_page).per(per_page)
16
16
 
17
- mock_response.stub(:docs).and_return(mock_docs.slice(start, per_page))
17
+ allow(mock_response).to receive(:docs).and_return(mock_docs.slice(start, per_page))
18
18
  mock_response
19
19
  end
20
20
 
@@ -62,7 +62,7 @@ describe CatalogHelper do
62
62
 
63
63
  it "should use the model_name from the response" do
64
64
  response = mock_response :total => 1
65
- response.stub(:model_name).and_return(double(:human => 'thingy'))
65
+ allow(response).to receive(:model_name).and_return(double(:human => 'thingy'))
66
66
 
67
67
  html = page_entries_info(response)
68
68
  expect(html).to eq "<strong>1</strong> thingy found"
@@ -126,82 +126,82 @@ describe CatalogHelper do
126
126
 
127
127
  describe "should_autofocus_on_search_box?" do
128
128
  it "should be focused if we're on a catalog-like index page without query or facet parameters" do
129
- helper.stub(controller: CatalogController.new, action_name: "index", has_search_parameters?: false)
130
- expect(helper.should_autofocus_on_search_box?).to be_true
129
+ allow(helper).to receive_messages(controller: CatalogController.new, action_name: "index", has_search_parameters?: false)
130
+ expect(helper.should_autofocus_on_search_box?).to be true
131
131
  end
132
132
 
133
133
  it "should not be focused if we're not on a catalog controller" do
134
- helper.stub(controller: ApplicationController.new)
135
- expect(helper.should_autofocus_on_search_box?).to be_false
134
+ allow(helper).to receive_messages(controller: ApplicationController.new)
135
+ expect(helper.should_autofocus_on_search_box?).to be false
136
136
  end
137
137
 
138
138
  it "should not be focused if we're not on a catalog controller index" do
139
- helper.stub(controller: CatalogController.new, action_name: "show")
140
- expect(helper.should_autofocus_on_search_box?).to be_false
139
+ allow(helper).to receive_messages(controller: CatalogController.new, action_name: "show")
140
+ expect(helper.should_autofocus_on_search_box?).to be false
141
141
  end
142
142
 
143
143
  it "should not be focused if a search parameters are provided" do
144
- helper.stub(controller: CatalogController.new, action_name: "index", has_search_parameters?: true)
145
- expect(helper.should_autofocus_on_search_box?).to be_false
144
+ allow(helper).to receive_messages(controller: CatalogController.new, action_name: "index", has_search_parameters?: true)
145
+ expect(helper.should_autofocus_on_search_box?).to be false
146
146
  end
147
147
  end
148
148
 
149
149
  describe "has_thumbnail?" do
150
150
  it "should have a thumbnail if a thumbnail_method is configured" do
151
- helper.stub(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_method => :xyz) ))
151
+ allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_method => :xyz) ))
152
152
  document = double()
153
- expect(helper.has_thumbnail? document).to be_true
153
+ expect(helper.has_thumbnail? document).to be true
154
154
  end
155
155
 
156
156
  it "should have a thumbnail if a thumbnail_field is configured and it exists in the document" do
157
- helper.stub(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_field => :xyz) ))
157
+ allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_field => :xyz) ))
158
158
  document = double(:has? => true)
159
- expect(helper.has_thumbnail? document).to be_true
159
+ expect(helper.has_thumbnail? document).to be true
160
160
  end
161
161
 
162
162
  it "should not have a thumbnail if the thumbnail_field is missing from the document" do
163
- helper.stub(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_field => :xyz) ))
163
+ allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_field => :xyz) ))
164
164
  document = double(:has? => false)
165
- expect(helper.has_thumbnail? document).to be_false
165
+ expect(helper.has_thumbnail? document).to be false
166
166
  end
167
167
 
168
168
  it "should not have a thumbnail if none of the fields are configured" do
169
- helper.stub(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new() ))
170
- expect(helper.has_thumbnail? double()).to be_false
169
+ allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new() ))
170
+ expect(helper.has_thumbnail? double()).to be_falsey
171
171
  end
172
172
  end
173
173
 
174
174
  describe "render_thumbnail_tag" do
175
175
  let(:document) { double }
176
176
  it "should call the provided thumbnail method" do
177
- helper.stub(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_method => :xyz) ))
178
- helper.stub(:xyz => "some-thumbnail")
177
+ allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_method => :xyz) ))
178
+ allow(helper).to receive_messages(:xyz => "some-thumbnail")
179
179
 
180
- helper.should_receive(:link_to_document).with(document, :label => "some-thumbnail")
180
+ allow(helper).to receive(:link_to_document).with(document, :label => "some-thumbnail")
181
181
  helper.render_thumbnail_tag document
182
182
  end
183
183
 
184
184
  it "should create an image tag from the given field" do
185
- helper.stub(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_field => :xyz) ))
185
+ allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_field => :xyz) ))
186
186
 
187
- document.stub(:has?).with(:xyz).and_return(true)
188
- document.stub(:first).with(:xyz).and_return("http://example.com/some.jpg")
187
+ allow(document).to receive(:has?).with(:xyz).and_return(true)
188
+ allow(document).to receive(:first).with(:xyz).and_return("http://example.com/some.jpg")
189
189
 
190
- helper.should_receive(:link_to_document).with(document, :label => image_tag("http://example.com/some.jpg"))
190
+ allow(helper).to receive(:link_to_document).with(document, :label => image_tag("http://example.com/some.jpg"))
191
191
  helper.render_thumbnail_tag document
192
192
  end
193
193
 
194
194
  it "should not link to the document if the url options are false" do
195
- helper.stub(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_method => :xyz) ))
196
- helper.stub(:xyz => "some-thumbnail")
195
+ allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_method => :xyz) ))
196
+ allow(helper).to receive_messages(:xyz => "some-thumbnail")
197
197
 
198
198
  result = helper.render_thumbnail_tag document, {}, false
199
199
  expect(result).to eq "some-thumbnail"
200
200
  end
201
201
 
202
202
  it "should not link to the document if the url options have :suppress_link" do
203
- helper.stub(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_method => :xyz) ))
204
- helper.stub(:xyz => "some-thumbnail")
203
+ allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_method => :xyz) ))
204
+ allow(helper).to receive_messages(:xyz => "some-thumbnail")
205
205
 
206
206
  result = helper.render_thumbnail_tag document, {}, suppress_link: true
207
207
  expect(result).to eq "some-thumbnail"
@@ -209,13 +209,13 @@ describe CatalogHelper do
209
209
 
210
210
 
211
211
  it "should return nil if no thumbnail is available" do
212
- helper.stub(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new() ))
212
+ allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new() ))
213
213
  expect(helper.render_thumbnail_tag document).to be_nil
214
214
  end
215
215
 
216
216
  it "should return nil if no thumbnail is returned from the thumbnail method" do
217
- helper.stub(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_method => :xyz) ))
218
- helper.stub(:xyz => nil)
217
+ allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_method => :xyz) ))
218
+ allow(helper).to receive_messages(:xyz => nil)
219
219
 
220
220
  expect(helper.render_thumbnail_tag document).to be_nil
221
221
  end
@@ -223,17 +223,17 @@ describe CatalogHelper do
223
223
 
224
224
  describe "thumbnail_url" do
225
225
  it "should pull the configured thumbnail field out of the document" do
226
- helper.stub(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_field => :xyz) ))
226
+ allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_field => :xyz) ))
227
227
  document = double()
228
- document.stub(:has?).with(:xyz).and_return(true)
229
- document.stub(:first).with(:xyz).and_return("asdf")
228
+ allow(document).to receive(:has?).with(:xyz).and_return(true)
229
+ allow(document).to receive(:first).with(:xyz).and_return("asdf")
230
230
  expect(helper.thumbnail_url document).to eq("asdf")
231
231
  end
232
232
 
233
233
  it "should return nil if the thumbnail field doesn't exist" do
234
- helper.stub(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_field => :xyz) ))
234
+ allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_field => :xyz) ))
235
235
  document = double()
236
- document.stub(:has?).with(:xyz).and_return(false)
236
+ allow(document).to receive(:has?).with(:xyz).and_return(false)
237
237
  expect(helper.thumbnail_url document).to be_nil
238
238
  end
239
239
  end
@@ -5,33 +5,33 @@ describe BlacklightConfigurationHelper do
5
5
  let(:config_value) { double() }
6
6
 
7
7
  before :each do
8
- helper.stub(blacklight_config: blacklight_config)
8
+ allow(helper).to receive_messages(blacklight_config: blacklight_config)
9
9
  end
10
10
 
11
11
  describe "#index_fields" do
12
12
  it "should pass through the configuration" do
13
- blacklight_config.stub(index_fields: config_value)
13
+ allow(blacklight_config).to receive_messages(index_fields: config_value)
14
14
  expect(helper.index_fields).to eq config_value
15
15
  end
16
16
  end
17
17
 
18
18
  describe "#sort_fields" do
19
19
  it "should convert the sort fields to select-ready values" do
20
- blacklight_config.stub(sort_fields: { 'a' => double(key: 'a', label: 'a'), 'b' => double(key: 'b', label: 'b'), c: double(key: 'c', if: false) })
20
+ allow(blacklight_config).to receive_messages(sort_fields: { 'a' => double(key: 'a', label: 'a'), 'b' => double(key: 'b', label: 'b'), c: double(key: 'c', if: false) })
21
21
  expect(helper.sort_fields).to eq [['a', 'a'], ['b', 'b']]
22
22
  end
23
23
  end
24
24
 
25
25
  describe "#active_sort_fields" do
26
26
  it "should restrict the configured sort fields to only those that should be displayed" do
27
- blacklight_config.stub(sort_fields: { a: double(if: false, unless: false), b: double(if:true, unless: true) })
27
+ allow(blacklight_config).to receive_messages(sort_fields: { a: double(if: false, unless: false), b: double(if:true, unless: true) })
28
28
  expect(helper.active_sort_fields).to be_empty
29
29
  end
30
30
  end
31
31
 
32
32
  describe "#document_show_fields" do
33
33
  it "should pass through the configuration" do
34
- blacklight_config.stub(show_fields: config_value)
34
+ allow(blacklight_config).to receive_messages(show_fields: config_value)
35
35
  expect(helper.document_show_fields).to eq config_value
36
36
  end
37
37
  end
@@ -45,7 +45,7 @@ describe BlacklightConfigurationHelper do
45
45
  end
46
46
 
47
47
  it "should default to the first configured index view" do
48
- blacklight_config.stub(view: { a: true, b: true})
48
+ allow(blacklight_config).to receive_messages(view: { a: true, b: true})
49
49
  expect(helper.default_document_index_view_type).to eq :a
50
50
  end
51
51
  end
@@ -58,17 +58,17 @@ describe BlacklightConfigurationHelper do
58
58
  end
59
59
 
60
60
  it "should filter views using :if/:unless configuration" do
61
- helper.document_index_views.should have_key :list
62
- helper.document_index_views.should_not have_key :abc
63
- helper.document_index_views.should_not have_key :def
64
- helper.document_index_views.should_not have_key :xyz
61
+ expect(helper.document_index_views).to have_key :list
62
+ expect(helper.document_index_views).to_not have_key :abc
63
+ expect(helper.document_index_views).to_not have_key :def
64
+ expect(helper.document_index_views).to_not have_key :xyz
65
65
  end
66
66
  end
67
67
 
68
68
  describe "#has_alternative_views?" do
69
69
  subject { helper.has_alternative_views?}
70
70
  describe "with a single view defined" do
71
- it { should be_false }
71
+ it { should be false }
72
72
  end
73
73
 
74
74
  describe "with multiple views defined" do
@@ -77,13 +77,13 @@ describe BlacklightConfigurationHelper do
77
77
  blacklight_config.view.xyz
78
78
  end
79
79
 
80
- it { should be_true }
80
+ it { should be true }
81
81
  end
82
82
  end
83
83
 
84
84
  describe "#spell_check_max" do
85
85
  it "should pass through the configuration" do
86
- blacklight_config.stub(spell_max: config_value)
86
+ allow(blacklight_config).to receive_messages(spell_max: config_value)
87
87
  expect(helper.spell_check_max).to eq config_value
88
88
  end
89
89
  end
@@ -91,8 +91,8 @@ describe BlacklightConfigurationHelper do
91
91
  describe "#index_field_label" do
92
92
  let(:document) { double }
93
93
  it "should look up the label to display for the given document and field" do
94
- helper.stub(:index_fields).and_return({ "my_field" => double(label: "some label") })
95
- helper.should_receive(:solr_field_label).with("some label", :"blacklight.search.fields.index.my_field", :"blacklight.search.fields.my_field")
94
+ allow(helper).to receive(:index_fields).and_return({ "my_field" => double(label: "some label") })
95
+ allow(helper).to receive(:solr_field_label).with("some label", :"blacklight.search.fields.index.my_field", :"blacklight.search.fields.my_field")
96
96
  helper.index_field_label document, "my_field"
97
97
  end
98
98
  end
@@ -100,8 +100,8 @@ describe BlacklightConfigurationHelper do
100
100
  describe "#document_show_field_label" do
101
101
  let(:document) { double }
102
102
  it "should look up the label to display for the given document and field" do
103
- helper.stub(:document_show_fields).and_return({ "my_field" => double(label: "some label") })
104
- helper.should_receive(:solr_field_label).with("some label", :"blacklight.search.fields.show.my_field", :"blacklight.search.fields.my_field")
103
+ allow(helper).to receive(:document_show_fields).and_return({ "my_field" => double(label: "some label") })
104
+ allow(helper).to receive(:solr_field_label).with("some label", :"blacklight.search.fields.show.my_field", :"blacklight.search.fields.my_field")
105
105
  helper.document_show_field_label document, "my_field"
106
106
  end
107
107
  end
@@ -109,22 +109,22 @@ describe BlacklightConfigurationHelper do
109
109
  describe "#facet_field_label" do
110
110
  let(:document) { double }
111
111
  it "should look up the label to display for the given document and field" do
112
- blacklight_config.stub(:facet_fields).and_return({ "my_field" => double(label: "some label") })
113
- helper.should_receive(:solr_field_label).with("some label", :"blacklight.search.fields.facet.my_field", :"blacklight.search.fields.my_field")
112
+ allow(blacklight_config).to receive(:facet_fields).and_return({ "my_field" => double(label: "some label") })
113
+ allow(helper).to receive(:solr_field_label).with("some label", :"blacklight.search.fields.facet.my_field", :"blacklight.search.fields.my_field")
114
114
  helper.facet_field_label "my_field"
115
115
  end
116
116
  end
117
117
 
118
118
  describe "#solr_field_label" do
119
119
  it "should look up the label as an i18n string" do
120
- helper.should_receive(:t).with(:some_key).and_return "my label"
120
+ allow(helper).to receive(:t).with(:some_key).and_return "my label"
121
121
  label = helper.solr_field_label :some_key
122
122
 
123
123
  expect(label).to eq "my label"
124
124
  end
125
125
 
126
126
  it "should pass the provided i18n keys to I18n.t" do
127
- helper.should_receive(:t).with(:key_a, default: [:key_b, "default text"])
127
+ allow(helper).to receive(:t).with(:key_a, default: [:key_b, "default text"])
128
128
 
129
129
  label = helper.solr_field_label "default text", :key_a, :key_b
130
130
  end
@@ -132,31 +132,31 @@ describe BlacklightConfigurationHelper do
132
132
 
133
133
  describe "#default_per_page" do
134
134
  it "should be the configured default per page" do
135
- helper.stub(blacklight_config: double(default_per_page: 42))
135
+ allow(helper).to receive_messages(blacklight_config: double(default_per_page: 42))
136
136
  expect(helper.default_per_page).to eq 42
137
137
  end
138
138
 
139
139
  it "should be the first per-page value if a default isn't set" do
140
- helper.stub(blacklight_config: double(default_per_page: nil, per_page: [11, 22]))
140
+ allow(helper).to receive_messages(blacklight_config: double(default_per_page: nil, per_page: [11, 22]))
141
141
  expect(helper.default_per_page).to eq 11
142
142
  end
143
143
  end
144
144
 
145
145
  describe "#default_sort_field" do
146
146
  it "should be the configured default field" do
147
- helper.stub(blacklight_config: double(sort_fields: { a: double(default: nil), b: double(key: 'b', default: true) }))
147
+ allow(helper).to receive_messages(blacklight_config: double(sort_fields: { a: double(default: nil), b: double(key: 'b', default: true) }))
148
148
  expect(helper.default_sort_field.key).to eq 'b'
149
149
  end
150
150
 
151
151
  it "should be the first per-page value if a default isn't set" do
152
- helper.stub(blacklight_config: double(sort_fields: { a: double(key: 'a', default: nil), b: double(key: 'b', default: nil) }))
152
+ allow(helper).to receive_messages(blacklight_config: double(sort_fields: { a: double(key: 'a', default: nil), b: double(key: 'b', default: nil) }))
153
153
  expect(helper.default_sort_field.key).to eq 'a'
154
154
  end
155
155
  end
156
156
 
157
157
  describe "#per_page_options_for_select" do
158
158
  it "should be the per-page values formatted as options_for_select" do
159
- helper.stub(blacklight_config: double(per_page: [11, 22, 33]))
159
+ allow(helper).to receive_messages(blacklight_config: double(per_page: [11, 22, 33]))
160
160
  expect(helper.per_page_options_for_select).to include ["11<span class=\"sr-only\"> per page</span>", 11]
161
161
  expect(helper.per_page_options_for_select).to include ["22<span class=\"sr-only\"> per page</span>", 22]
162
162
  expect(helper.per_page_options_for_select).to include ["33<span class=\"sr-only\"> per page</span>", 33]
@@ -167,21 +167,21 @@ describe BlacklightConfigurationHelper do
167
167
  let(:field_config) { double('field config', if: true, unless: false) }
168
168
 
169
169
  before do
170
- helper.stub(document_has_value?: true)
170
+ allow(helper).to receive_messages(document_has_value?: true)
171
171
  end
172
172
 
173
173
  it "should be true" do
174
- expect(helper.should_render_field?(field_config)).to be_true
174
+ expect(helper.should_render_field?(field_config)).to be true
175
175
  end
176
176
 
177
177
  it "should be false if the :if condition is false" do
178
- field_config.stub(if: false)
179
- expect(helper.should_render_field?(field_config)).to be_false
178
+ allow(field_config).to receive_messages(if: false)
179
+ expect(helper.should_render_field?(field_config)).to be false
180
180
  end
181
181
 
182
182
  it "should be false if the :unless condition is true" do
183
- field_config.stub(unless: true)
184
- expect(helper.should_render_field?(field_config)).to be_false
183
+ allow(field_config).to receive_messages(unless: true)
184
+ expect(helper.should_render_field?(field_config)).to be false
185
185
  end
186
186
  end
187
187
 
@@ -192,21 +192,21 @@ describe BlacklightConfigurationHelper do
192
192
  end
193
193
 
194
194
  it "should execute a helper method" do
195
- helper.stub(:my_helper => true)
196
- expect(helper.evaluate_configuration_conditional(:my_helper)).to be_true
195
+ allow(helper).to receive_messages(:my_helper => true)
196
+ expect(helper.evaluate_configuration_conditional(:my_helper)).to be true
197
197
  end
198
198
 
199
199
  it "should call a helper to determine if it should render a field" do
200
200
  a = double
201
- helper.should_receive(:my_helper_with_an_arg).with(a).and_return(true)
202
- expect(helper.evaluate_configuration_conditional(:my_helper_with_an_arg, a)).to be_true
201
+ allow(helper).to receive(:my_helper_with_an_arg).with(a).and_return(true)
202
+ expect(helper.evaluate_configuration_conditional(:my_helper_with_an_arg, a)).to be true
203
203
  end
204
204
 
205
205
  it "should evaluate a Proc to determine if it should render a field" do
206
206
  one_arg_lambda = lambda { |context, a| true }
207
207
  two_arg_lambda = lambda { |context, a, b| true }
208
- expect(helper.evaluate_configuration_conditional(one_arg_lambda, 1)).to be_true
209
- expect(helper.evaluate_configuration_conditional(two_arg_lambda, 1, 2)).to be_true
208
+ expect(helper.evaluate_configuration_conditional(one_arg_lambda, 1)).to be true
209
+ expect(helper.evaluate_configuration_conditional(two_arg_lambda, 1, 2)).to be true
210
210
  end
211
211
  end
212
212
 
@@ -224,7 +224,7 @@ describe BlacklightConfigurationHelper do
224
224
  config.add_search_field 'no_display', :qt => 'something', :include_in_simple_select => false
225
225
  end
226
226
 
227
- helper.stub(blacklight_config: @config)
227
+ allow(helper).to receive_messages(blacklight_config: @config)
228
228
  end
229
229
 
230
230
  it "should return proper options_for_select arguments" do
@@ -6,7 +6,7 @@ describe FacetsHelper do
6
6
  let(:blacklight_config) { Blacklight::Configuration.new }
7
7
 
8
8
  before(:each) do
9
- helper.stub(:blacklight_config).and_return blacklight_config
9
+ allow(helper).to receive(:blacklight_config).and_return blacklight_config
10
10
  end
11
11
 
12
12
  describe "has_facet_values?" do
@@ -40,7 +40,7 @@ describe FacetsHelper do
40
40
  config.add_facet_field 'lambda_no_show', :show => lambda { |context, config, field| false }
41
41
  end
42
42
 
43
- helper.stub(:blacklight_config => @config)
43
+ allow(helper).to receive_messages(:blacklight_config => @config)
44
44
  end
45
45
 
46
46
  it "should render facets with items" do
@@ -58,14 +58,14 @@ describe FacetsHelper do
58
58
  end
59
59
 
60
60
  it "should call a helper to determine if it should render a field" do
61
- helper.stub(:my_helper => true)
61
+ allow(helper).to receive_messages(:my_helper => true)
62
62
  a = double(:items => [1,2], :name=>'helper_show')
63
63
  expect(helper.should_render_facet?(a)).to be true
64
64
  end
65
65
 
66
66
  it "should call a helper to determine if it should render a field" do
67
67
  a = double(:items => [1,2], :name=>'helper_with_an_arg_show')
68
- helper.should_receive(:my_helper_with_an_arg).with(@config.facet_fields['helper_with_an_arg_show'], a).and_return(true)
68
+ allow(helper).to receive(:my_helper_with_an_arg).with(@config.facet_fields['helper_with_an_arg_show'], a).and_return(true)
69
69
  expect(helper.should_render_facet?(a)).to be true
70
70
  end
71
71
 
@@ -86,7 +86,7 @@ describe FacetsHelper do
86
86
  config.add_facet_field 'no_collapse', collapse: false
87
87
  end
88
88
 
89
- helper.stub(blacklight_config: @config)
89
+ allow(helper).to receive_messages(blacklight_config: @config)
90
90
  end
91
91
 
92
92
  it "should be collapsed by default" do
@@ -109,18 +109,18 @@ describe FacetsHelper do
109
109
  it "should retrieve the facet from the response given a string" do
110
110
  facet_config = double(:query => nil)
111
111
  facet_field = double()
112
- helper.should_receive(:facet_configuration_for_field).with(anything()).and_return(facet_config)
112
+ allow(helper).to receive(:facet_configuration_for_field).with(anything()).and_return(facet_config)
113
113
 
114
114
  @response = double()
115
- @response.should_receive(:facet_by_field_name).with('a').and_return(facet_field)
115
+ allow(@response).to receive(:facet_by_field_name).with('a').and_return(facet_field)
116
116
 
117
117
  expect(helper.facet_by_field_name('a')).to eq facet_field
118
118
  end
119
119
 
120
120
  it "should also work for facet query fields" do
121
121
  facet_config = double(:query => {})
122
- helper.should_receive(:facet_configuration_for_field).with('a_query_facet_field').and_return(facet_config)
123
- helper.should_receive(:create_rsolr_facet_field_response_for_query_facet_field).with('a_query_facet_field', facet_config)
122
+ allow(helper).to receive(:facet_configuration_for_field).with('a_query_facet_field').and_return(facet_config)
123
+ allow(helper).to receive(:create_rsolr_facet_field_response_for_query_facet_field).with('a_query_facet_field', facet_config)
124
124
 
125
125
  helper.facet_by_field_name 'a_query_facet_field'
126
126
  end
@@ -137,7 +137,7 @@ describe FacetsHelper do
137
137
  }
138
138
 
139
139
  before(:each) do
140
- helper.should_receive(:facet_configuration_for_field).with(anything()).and_return(facet_config)
140
+ allow(helper).to receive(:facet_configuration_for_field).with(anything()).and_return(facet_config)
141
141
 
142
142
  @response = double(:facet_queries => {
143
143
  'field:search' => 10,
@@ -149,7 +149,7 @@ describe FacetsHelper do
149
149
 
150
150
  it"should convert the query facets into a double RSolr FacetField" do
151
151
  field = helper.facet_by_field_name('my_query_facet_field')
152
- field.should be_a_kind_of Blacklight::SolrResponse::Facets::FacetField
152
+ expect(field).to be_a_kind_of Blacklight::SolrResponse::Facets::FacetField
153
153
 
154
154
  expect(field.name).to eq'my_query_facet_field'
155
155
  expect(field.items.size).to eq 2
@@ -169,14 +169,14 @@ describe FacetsHelper do
169
169
  }
170
170
 
171
171
  before(:each) do
172
- helper.should_receive(:facet_configuration_for_field).with(anything()).and_return(facet_config)
172
+ allow(helper).to receive(:facet_configuration_for_field).with(anything()).and_return(facet_config)
173
173
 
174
174
  @response = double(:facet_pivot => { 'field_a,field_b' => [{:field => 'field_a', :value => 'a', :count => 10, :pivot => [{:field => 'field_b', :value => 'b', :count => 2}]}]})
175
175
  end
176
176
 
177
177
  it "should convert the pivot facet into a double RSolr FacetField" do
178
178
  field = helper.facet_by_field_name('my_pivot_facet_field')
179
- field.should be_a_kind_of Blacklight::SolrResponse::Facets::FacetField
179
+ expect(field).to be_a_kind_of Blacklight::SolrResponse::Facets::FacetField
180
180
 
181
181
  expect(field.name).to eq 'my_pivot_facet_field'
182
182
 
@@ -199,9 +199,9 @@ describe FacetsHelper do
199
199
 
200
200
  fields = [a,b,empty]
201
201
 
202
- helper.should_receive(:render_facet_limit).with(a, {})
203
- helper.should_receive(:render_facet_limit).with(b, {})
204
- helper.should_receive(:render_facet_limit).with(empty, {})
202
+ allow(helper).to receive(:render_facet_limit).with(a, {})
203
+ allow(helper).to receive(:render_facet_limit).with(b, {})
204
+ allow(helper).to receive(:render_facet_limit).with(empty, {})
205
205
 
206
206
  helper.render_facet_partials fields
207
207
  end
@@ -209,10 +209,10 @@ describe FacetsHelper do
209
209
  it "should default to the configured facets" do
210
210
  a = double(:items => [1,2])
211
211
  b = double(:items => ['b','c'])
212
- helper.should_receive(:facet_field_names) { [a,b] }
212
+ allow(helper).to receive(:facet_field_names) { [a,b] }
213
213
 
214
- helper.should_receive(:render_facet_limit).with(a, {})
215
- helper.should_receive(:render_facet_limit).with(b, {})
214
+ allow(helper).to receive(:render_facet_limit).with(a, {})
215
+ allow(helper).to receive(:render_facet_limit).with(b, {})
216
216
 
217
217
  helper.render_facet_partials
218
218
  end
@@ -229,13 +229,13 @@ describe FacetsHelper do
229
229
  config.add_facet_field 'my_facet_field_with_custom_partial', :partial => 'custom_facet_partial'
230
230
  end
231
231
 
232
- helper.stub(:blacklight_config => @config)
232
+ allow(helper).to receive_messages(:blacklight_config => @config)
233
233
  @response = double()
234
234
  end
235
235
 
236
236
  it "should set basic local variables" do
237
237
  @mock_facet = double(:name => 'basic_field', :items => [1,2,3])
238
- helper.should_receive(:render).with(hash_including(:partial => 'facet_limit',
238
+ allow(helper).to receive(:render).with(hash_including(:partial => 'facet_limit',
239
239
  :locals => {
240
240
  :solr_field => 'basic_field',
241
241
  :facet_field => helper.blacklight_config.facet_fields['basic_field'],
@@ -246,37 +246,37 @@ describe FacetsHelper do
246
246
 
247
247
  it "should render a facet _not_ declared in the configuration" do
248
248
  @mock_facet = double(:name => 'asdf', :items => [1,2,3])
249
- helper.should_receive(:render).with(hash_including(:partial => 'facet_limit'))
249
+ allow(helper).to receive(:render).with(hash_including(:partial => 'facet_limit'))
250
250
  helper.render_facet_limit(@mock_facet)
251
251
  end
252
252
 
253
253
  it "should get the partial name from the configuration" do
254
254
  @mock_facet = double(:name => 'my_facet_field_with_custom_partial', :items => [1,2,3])
255
- helper.should_receive(:render).with(hash_including(:partial => 'custom_facet_partial'))
255
+ allow(helper).to receive(:render).with(hash_including(:partial => 'custom_facet_partial'))
256
256
  helper.render_facet_limit(@mock_facet)
257
257
  end
258
258
 
259
259
  it "should use a partial layout for rendering the facet frame" do
260
260
  @mock_facet = double(:name => 'my_facet_field_with_custom_partial', :items => [1,2,3])
261
- helper.should_receive(:render).with(hash_including(:layout => 'facet_layout'))
261
+ allow(helper).to receive(:render).with(hash_including(:layout => 'facet_layout'))
262
262
  helper.render_facet_limit(@mock_facet)
263
263
  end
264
264
 
265
265
  it "should allow the caller to opt-out of facet layouts" do
266
266
  @mock_facet = double(:name => 'my_facet_field_with_custom_partial', :items => [1,2,3])
267
- helper.should_receive(:render).with(hash_including(:layout => nil))
267
+ allow(helper).to receive(:render).with(hash_including(:layout => nil))
268
268
  helper.render_facet_limit(@mock_facet, :layout => nil)
269
269
  end
270
270
 
271
271
  it "should render the facet_pivot partial for pivot facets" do
272
272
  @mock_facet = double(:name => 'pivot_facet_field', :items => [1,2,3])
273
- helper.should_receive(:render).with(hash_including(:partial => 'facet_pivot'))
273
+ allow(helper).to receive(:render).with(hash_including(:partial => 'facet_pivot'))
274
274
  helper.render_facet_limit(@mock_facet)
275
275
  end
276
276
 
277
277
  it "should let you override the rendered partial for pivot facets" do
278
278
  @mock_facet = double(:name => 'my_pivot_facet_field_with_custom_partial', :items => [1,2,3])
279
- helper.should_receive(:render).with(hash_including(:partial => 'custom_facet_partial'))
279
+ allow(helper).to receive(:render).with(hash_including(:partial => 'custom_facet_partial'))
280
280
  helper.render_facet_limit(@mock_facet)
281
281
  end
282
282
  end
@@ -312,7 +312,7 @@ describe FacetsHelper do
312
312
 
313
313
  describe "facet_field_in_params?" do
314
314
  it "should check if the facet field is selected in the user params" do
315
- helper.stub(:params => { :f => { "some-field" => ["x"]}})
315
+ allow(helper).to receive_messages(:params => { :f => { "some-field" => ["x"]}})
316
316
  expect(helper.facet_field_in_params?("some-field")).to be_truthy
317
317
  expect(helper.facet_field_in_params?("other-field")).to_not be true
318
318
  end
@@ -325,9 +325,9 @@ describe FacetsHelper do
325
325
  describe "render_facet_value" do
326
326
  let (:item) { double(:value => 'A', :hits => 10) }
327
327
  before do
328
- helper.stub(:facet_configuration_for_field).with('simple_field').and_return(double(:query => nil, :date => nil, :helper_method => nil, :single => false))
329
- helper.should_receive(:facet_display_value).and_return('Z')
330
- helper.should_receive(:add_facet_params_and_redirect).and_return({controller:'catalog'})
328
+ allow(helper).to receive(:facet_configuration_for_field).with('simple_field').and_return(double(:query => nil, :date => nil, :helper_method => nil, :single => false))
329
+ allow(helper).to receive(:facet_display_value).and_return('Z')
330
+ allow(helper).to receive(:add_facet_params_and_redirect).and_return({controller:'catalog'})
331
331
 
332
332
  allow(helper).to receive(:search_action_path) do |*args|
333
333
  catalog_index_path *args
@@ -352,30 +352,30 @@ describe FacetsHelper do
352
352
 
353
353
  describe "#facet_display_value" do
354
354
  it "should just be the facet value for an ordinary facet" do
355
- helper.stub(:facet_configuration_for_field).with('simple_field').and_return(double(:query => nil, :date => nil, :helper_method => nil))
355
+ allow(helper).to receive(:facet_configuration_for_field).with('simple_field').and_return(double(:query => nil, :date => nil, :helper_method => nil))
356
356
  expect(helper.facet_display_value('simple_field', 'asdf')).to eq 'asdf'
357
357
  end
358
358
 
359
359
  it "should allow you to pass in a :helper_method argument to the configuration" do
360
- helper.stub(:facet_configuration_for_field).with('helper_field').and_return(double(:query => nil, :date => nil, :helper_method => :my_facet_value_renderer))
360
+ allow(helper).to receive(:facet_configuration_for_field).with('helper_field').and_return(double(:query => nil, :date => nil, :helper_method => :my_facet_value_renderer))
361
361
 
362
- helper.should_receive(:my_facet_value_renderer).with('qwerty').and_return('abc')
362
+ allow(helper).to receive(:my_facet_value_renderer).with('qwerty').and_return('abc')
363
363
 
364
364
  expect(helper.facet_display_value('helper_field', 'qwerty')).to eq 'abc'
365
365
  end
366
366
 
367
367
  it "should extract the configuration label for a query facet" do
368
- helper.stub(:facet_configuration_for_field).with('query_facet').and_return(double(:query => { 'query_key' => { :label => 'XYZ'}}, :date => nil, :helper_method => nil))
368
+ allow(helper).to receive(:facet_configuration_for_field).with('query_facet').and_return(double(:query => { 'query_key' => { :label => 'XYZ'}}, :date => nil, :helper_method => nil))
369
369
  expect(helper.facet_display_value('query_facet', 'query_key')).to eq 'XYZ'
370
370
  end
371
371
 
372
372
  it "should localize the label for date-type facets" do
373
- helper.stub(:facet_configuration_for_field).with('date_facet').and_return(double('date' => true, :query => nil, :helper_method => nil))
373
+ allow(helper).to receive(:facet_configuration_for_field).with('date_facet').and_return(double('date' => true, :query => nil, :helper_method => nil))
374
374
  expect(helper.facet_display_value('date_facet', '2012-01-01')).to eq 'Sun, 01 Jan 2012 00:00:00 +0000'
375
375
  end
376
376
 
377
377
  it "should localize the label for date-type facets with the supplied localization options" do
378
- helper.stub(:facet_configuration_for_field).with('date_facet').and_return(double('date' => { :format => :short }, :query => nil, :helper_method => nil))
378
+ allow(helper).to receive(:facet_configuration_for_field).with('date_facet').and_return(double('date' => { :format => :short }, :query => nil, :helper_method => nil))
379
379
  expect(helper.facet_display_value('date_facet', '2012-01-01')).to eq '01 Jan 00:00'
380
380
  end
381
381
  end