blacklight 5.5.1 → 5.5.2

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  describe "Alternate Controller Behaviors" do
4
4
  it "should have the correct per-page form" do
5
5
  visit alternate_index_path
6
- page.should have_selector("form[action='#{alternate_index_url}']")
6
+ expect(page).to have_selector("form[action='#{alternate_index_url}']")
7
7
  fill_in "q", :with=>"history"
8
8
  click_button 'search'
9
9
  expect(current_path).to match /#{alternate_index_path}/
@@ -15,7 +15,7 @@ describe "Alternate Controller Behaviors" do
15
15
 
16
16
  it "should have the correct search field form" do
17
17
  visit alternate_index_path
18
- page.should have_selector("form[action='#{alternate_index_url}']")
18
+ expect(page).to have_selector("form[action='#{alternate_index_url}']")
19
19
  fill_in "q", :with=>"history"
20
20
  click_button 'search'
21
21
  expect(current_path).to match /#{alternate_index_path}/
@@ -25,7 +25,7 @@ describe "Alternate Controller Behaviors" do
25
25
 
26
26
  it "should display document thumbnails" do
27
27
  visit alternate_index_path
28
- page.should have_selector("form[action='#{alternate_index_url}']")
28
+ expect(page).to have_selector("form[action='#{alternate_index_url}']")
29
29
  fill_in "q", :with=>"history"
30
30
  click_button 'search'
31
31
  expect(page).to have_selector ".document-thumbnail"
@@ -34,7 +34,7 @@ describe "Record View" do
34
34
  end
35
35
  it "should not display 404" do
36
36
  visit catalog_path('this_id_does_not_exist')
37
- page.driver.status_code.should == 404
37
+ expect(page.driver.status_code).to eq 404
38
38
  expect(page).to have_content "The page you were looking for doesn't exist."
39
39
  end
40
40
  end
@@ -167,14 +167,14 @@ describe "Facets" do
167
167
  end
168
168
  end
169
169
  it "should be collapsed when not selected", :js => true do
170
- pending("Test passes locally but not on Travis.") if ENV['TRAVIS']
170
+ skip("Test passes locally but not on Travis.") if ENV['TRAVIS']
171
171
  visit root_path
172
172
  within(".blacklight-subject_topic_facet") do
173
173
  expect(page).not_to have_selector(".panel-collapse", :visible => true)
174
174
  end
175
175
  end
176
176
  it "should expand when the heading is clicked", :js => true do
177
- pending("Test passes locally but not on Travis.") if ENV['TRAVIS']
177
+ skip("Test passes locally but not on Travis.") if ENV['TRAVIS']
178
178
  visit root_path
179
179
  within(".blacklight-subject_topic_facet") do
180
180
  expect(page).not_to have_selector(".panel-collapse", :visible => true)
@@ -183,7 +183,7 @@ describe "Facets" do
183
183
  end
184
184
  end
185
185
  it "should expand when the anchor is clicked", :js => true do
186
- pending("Test passes locally but not on Travis.") if ENV['TRAVIS']
186
+ skip("Test passes locally but not on Travis.") if ENV['TRAVIS']
187
187
  visit root_path
188
188
  within(".blacklight-subject_topic_facet") do
189
189
  expect(page).not_to have_selector(".panel-collapse", :visible => true)
@@ -192,7 +192,7 @@ describe "Facets" do
192
192
  end
193
193
  end
194
194
  it "should keep selected facets expanded on page load", :js => true do
195
- pending("Test passes locally but not on Travis.") if ENV['TRAVIS']
195
+ skip("Test passes locally but not on Travis.") if ENV['TRAVIS']
196
196
  visit root_path
197
197
  within(".blacklight-subject_topic_facet") do
198
198
  click_link "Topic"
@@ -5,33 +5,33 @@ require 'spec_helper'
5
5
  describe "Search Results" do
6
6
  it "should have for an empty query" do
7
7
  search_for ''
8
- number_of_results_from_page(page).should == 30
9
- page.should have_xpath("//a[contains(@href, #{2007020969})]")
8
+ expect(number_of_results_from_page(page)).to eq 30
9
+ expect(page).to have_xpath("//a[contains(@href, #{2007020969})]")
10
10
  search_for 'korea'
11
- number_of_results_from_page(page).should == 4
11
+ expect(number_of_results_from_page(page)).to eq 4
12
12
  end
13
13
 
14
14
  it "should find same result set with or without diacritcs" do
15
15
  search_for 'inmul'
16
- number_of_results_from_page(page).should == 1
17
- page.should have_xpath("//a[contains(@href, #{77826928})]")
16
+ expect(number_of_results_from_page(page)).to eq 1
17
+ expect(page).to have_xpath("//a[contains(@href, #{77826928})]")
18
18
 
19
19
  search_for 'inmül'
20
- number_of_results_from_page(page).should == 1
20
+ expect(number_of_results_from_page(page)).to eq 1
21
21
  end
22
22
  it "should find same result set for a case-insensitive query " do
23
23
  search_for 'inmul'
24
- number_of_results_from_page(page).should == 1
25
- page.should have_xpath("//a[contains(@href, #{77826928})]")
24
+ expect(number_of_results_from_page(page)).to eq 1
25
+ expect(page).to have_xpath("//a[contains(@href, #{77826928})]")
26
26
 
27
27
  search_for 'INMUL'
28
- number_of_results_from_page(page).should == 1
28
+ expect(number_of_results_from_page(page)).to eq 1
29
29
  end
30
30
 
31
31
  it "should order by relevancy" do
32
32
  search_for "Korea"
33
- position_in_result_page(page, '77826928').should == 1
34
- position_in_result_page(page, '94120425').should == 2
33
+ expect(position_in_result_page(page, '77826928')).to eq 1
34
+ expect(position_in_result_page(page, '94120425')).to eq 2
35
35
 
36
36
  end
37
37
 
@@ -39,7 +39,7 @@ describe "Search Results" do
39
39
  visit root_path
40
40
  tmp_value = Capybara.ignore_hidden_elements
41
41
  Capybara.ignore_hidden_elements = false
42
- page.should have_xpath("//link[contains(@rel, 'search')]")
42
+ expect(page).to have_xpath("//link[contains(@rel, 'search')]")
43
43
  expect(page.find(:xpath, "//link[contains(@rel, 'search')]")[:href]).to eq "http://www.example.com/catalog/opensearch.xml"
44
44
  Capybara.ignore_hidden_elements = tmp_value
45
45
  end
@@ -12,7 +12,7 @@ describe BlacklightHelper do
12
12
  end
13
13
 
14
14
  before(:each) do
15
- helper.stub(:search_action_path) do |*args|
15
+ allow(helper).to receive(:search_action_path) do |*args|
16
16
  catalog_index_url *args
17
17
  end
18
18
  end
@@ -23,9 +23,8 @@ describe BlacklightHelper do
23
23
 
24
24
  describe "#application_name", :test => true do
25
25
  it "should use the Rails application config application_name if available" do
26
- Rails.application.config.stub(:application_name => 'asdf')
27
- Rails.application.config.should_receive(:respond_to?).with(:application_name).and_return(true)
28
- expect(application_name).to eq 'asdf'
26
+ allow(Rails.application).to receive(:config).and_return(double(application_name: "asdf"))
27
+ expect(application_name).to eq "asdf"
29
28
  end
30
29
  it "should default to 'Blacklight'" do
31
30
  expect(application_name).to eq "Blacklight"
@@ -70,7 +69,7 @@ describe BlacklightHelper do
70
69
  @doc_id = "MOCK_ID1"
71
70
  @document = MockDocumentAppHelper.new(:id => @doc_id)
72
71
  render_params = {:controller => "controller", :action => "action"}
73
- helper.stub(:params).and_return(render_params)
72
+ allow(helper).to receive(:params).and_return(render_params)
74
73
  end
75
74
  it "generates <link rel=alternate> tags" do
76
75
 
@@ -79,7 +78,7 @@ describe BlacklightHelper do
79
78
  tmp_value = Capybara.ignore_hidden_elements
80
79
  Capybara.ignore_hidden_elements = false
81
80
  @document.export_formats.each_pair do |format, spec|
82
- response.should have_selector("link[href$='.#{ format }']") do |matches|
81
+ expect(response).to have_selector("link[href$='.#{ format }']") do |matches|
83
82
  expect(matches).to have(1).match
84
83
  tag = matches[0]
85
84
  expect(tag.attributes["rel"].value).to eq "alternate"
@@ -119,10 +118,10 @@ describe BlacklightHelper do
119
118
  end
120
119
 
121
120
  @document = SolrDocument.new('title_display' => "A Fake Document", 'id'=>'8')
122
- helper.stub(:blacklight_config).and_return(@config)
123
- helper.stub(:has_user_authentication_provider?).and_return(true)
124
- helper.stub(:current_or_guest_user).and_return(User.new)
125
- helper.stub(current_bookmarks: [])
121
+ allow(helper).to receive(:blacklight_config).and_return(@config)
122
+ allow(helper).to receive(:has_user_authentication_provider?).and_return(true)
123
+ allow(helper).to receive(:current_or_guest_user).and_return(User.new)
124
+ allow(helper).to receive_messages(current_bookmarks: [])
126
125
  end
127
126
  describe "render_index_doc_actions" do
128
127
  it "should render partials" do
@@ -140,43 +139,43 @@ describe BlacklightHelper do
140
139
 
141
140
  describe "#should_render_index_field?" do
142
141
  before do
143
- helper.stub(should_render_field?: true, document_has_value?: true)
142
+ allow(helper).to receive_messages(should_render_field?: true, document_has_value?: true)
144
143
  end
145
144
 
146
145
  it "should be true" do
147
- expect(helper.should_render_index_field?(double, double)).to be_true
146
+ expect(helper.should_render_index_field?(double, double)).to be true
148
147
  end
149
148
 
150
149
  it "should be false if the document doesn't have a value for the field" do
151
- helper.stub(document_has_value?: false)
152
- expect(helper.should_render_index_field?(double, double)).to be_false
150
+ allow(helper).to receive_messages(document_has_value?: false)
151
+ expect(helper.should_render_index_field?(double, double)).to be false
153
152
 
154
153
  end
155
154
 
156
155
  it "should be false if the configuration has the field disabled" do
157
- helper.stub(should_render_field?: false)
158
- expect(helper.should_render_index_field?(double, double)).to be_false
156
+ allow(helper).to receive_messages(should_render_field?: false)
157
+ expect(helper.should_render_index_field?(double, double)).to be false
159
158
  end
160
159
  end
161
160
 
162
161
  describe "#should_render_show_field?" do
163
162
  before do
164
- helper.stub(should_render_field?: true, document_has_value?: true)
163
+ allow(helper).to receive_messages(should_render_field?: true, document_has_value?: true)
165
164
  end
166
165
 
167
166
  it "should be true" do
168
- expect(helper.should_render_show_field?(double, double)).to be_true
167
+ expect(helper.should_render_show_field?(double, double)).to be true
169
168
  end
170
169
 
171
170
  it "should be false if the document doesn't have a value for the field" do
172
- helper.stub(document_has_value?: false)
173
- expect(helper.should_render_show_field?(double, double)).to be_false
171
+ allow(helper).to receive_messages(document_has_value?: false)
172
+ expect(helper.should_render_show_field?(double, double)).to be false
174
173
 
175
174
  end
176
175
 
177
176
  it "should be false if the configuration has the field disabled" do
178
- helper.stub(should_render_field?: false)
179
- expect(helper.should_render_show_field?(double, double)).to be_false
177
+ allow(helper).to receive_messages(should_render_field?: false)
178
+ expect(helper.should_render_show_field?(double, double)).to be false
180
179
  end
181
180
  end
182
181
 
@@ -192,65 +191,65 @@ describe BlacklightHelper do
192
191
  config.add_index_field 'explicit_accessor', :accessor => :solr_doc_accessor
193
192
  config.add_index_field 'explicit_accessor_with_arg', :accessor => :solr_doc_accessor_with_arg
194
193
  end
195
- helper.stub(:blacklight_config).and_return(@config)
194
+ allow(helper).to receive(:blacklight_config).and_return(@config)
196
195
  end
197
196
 
198
197
  it "should check for an explicit value" do
199
198
  doc = double()
200
- doc.should_not_receive(:get).with('asdf', :sep => nil)
199
+ expect(doc).to_not receive(:get).with('asdf', :sep => nil)
201
200
  value = helper.render_index_field_value :value => 'asdf', :document => doc, :field => 'asdf'
202
201
  expect(value).to eq 'asdf'
203
202
  end
204
203
 
205
204
  it "should check for a helper method to call" do
206
205
  doc = double()
207
- doc.should_receive(:get).with('asdf', :sep => nil)
208
- helper.stub(:render_asdf_index_field).and_return('custom asdf value')
206
+ allow(doc).to receive(:get).with('asdf', :sep => nil)
207
+ allow(helper).to receive(:render_asdf_index_field).and_return('custom asdf value')
209
208
  value = helper.render_index_field_value :document => doc, :field => 'asdf'
210
209
  expect(value).to eq 'custom asdf value'
211
210
  end
212
211
 
213
212
  it "should check for a link_to_search" do
214
213
  doc = double()
215
- doc.should_receive(:get).with('link_to_search_true', :sep => nil).and_return('x')
214
+ allow(doc).to receive(:get).with('link_to_search_true', :sep => nil).and_return('x')
216
215
  value = helper.render_index_field_value :document => doc, :field => 'link_to_search_true'
217
216
  expect(value).to eq helper.link_to("x", helper.search_action_path(:f => { :link_to_search_true => ['x'] }))
218
217
  end
219
218
 
220
219
  it "should check for a link_to_search with a field name" do
221
220
  doc = double()
222
- doc.should_receive(:get).with('link_to_search_named', :sep => nil).and_return('x')
221
+ allow(doc).to receive(:get).with('link_to_search_named', :sep => nil).and_return('x')
223
222
  value = helper.render_index_field_value :document => doc, :field => 'link_to_search_named'
224
223
  expect(value).to eq helper.link_to("x", helper.search_action_path(:f => { :some_field => ['x'] }))
225
224
  end
226
225
 
227
226
  it "should gracefully handle when no highlight field is available" do
228
227
  doc = double()
229
- doc.should_not_receive(:get)
230
- doc.should_receive(:has_highlight_field?).and_return(false)
228
+ expect(doc).to_not receive(:get)
229
+ allow(doc).to receive(:has_highlight_field?).and_return(false)
231
230
  value = helper.render_index_field_value :document => doc, :field => 'highlight'
232
231
  expect(value).to be_blank
233
232
  end
234
233
 
235
234
  it "should check for a highlighted field" do
236
235
  doc = double()
237
- doc.should_not_receive(:get)
238
- doc.should_receive(:has_highlight_field?).and_return(true)
239
- doc.should_receive(:highlight_field).with('highlight').and_return(['<em>highlight</em>'.html_safe])
236
+ expect(doc).to_not receive(:get)
237
+ allow(doc).to receive(:has_highlight_field?).and_return(true)
238
+ allow(doc).to receive(:highlight_field).with('highlight').and_return(['<em>highlight</em>'.html_safe])
240
239
  value = helper.render_index_field_value :document => doc, :field => 'highlight'
241
240
  expect(value).to eq '<em>highlight</em>'
242
241
  end
243
242
 
244
243
  it "should check the document field value" do
245
244
  doc = double()
246
- doc.should_receive(:get).with('qwer', :sep => nil).and_return('document qwer value')
245
+ allow(doc).to receive(:get).with('qwer', :sep => nil).and_return('document qwer value')
247
246
  value = helper.render_index_field_value :document => doc, :field => 'qwer'
248
247
  expect(value).to eq 'document qwer value'
249
248
  end
250
249
 
251
250
  it "should work with index fields that aren't explicitly defined" do
252
251
  doc = double()
253
- doc.should_receive(:get).with('mnbv', :sep => nil).and_return('document mnbv value')
252
+ allow(doc).to receive(:get).with('mnbv', :sep => nil).and_return('document mnbv value')
254
253
  value = helper.render_index_field_value :document => doc, :field => 'mnbv'
255
254
  expect(value).to eq 'document mnbv value'
256
255
  end
@@ -289,52 +288,52 @@ describe BlacklightHelper do
289
288
  config.add_show_field 'explicit_accessor_with_arg', :accessor => :solr_doc_accessor_with_arg
290
289
  end
291
290
 
292
- helper.stub(:blacklight_config).and_return(@config)
291
+ allow(helper).to receive(:blacklight_config).and_return(@config)
293
292
  end
294
293
 
295
294
  it "should check for an explicit value" do
296
295
  doc = double()
297
- doc.should_not_receive(:get).with('asdf', :sep => nil)
298
- helper.should_not_receive(:render_asdf_document_show_field)
296
+ expect(doc).to_not receive(:get).with('asdf', :sep => nil)
297
+ expect(helper).to_not receive(:render_asdf_document_show_field)
299
298
  value = helper.render_document_show_field_value :value => 'asdf', :document => doc, :field => 'asdf'
300
299
  expect(value).to eq 'asdf'
301
300
  end
302
301
 
303
302
  it "should check for a helper method to call" do
304
303
  doc = double()
305
- doc.should_receive(:get).with('asdf', :sep => nil)
306
- helper.stub(:render_asdf_document_show_field).and_return('custom asdf value')
304
+ allow(doc).to receive(:get).with('asdf', :sep => nil)
305
+ allow(helper).to receive(:render_asdf_document_show_field).and_return('custom asdf value')
307
306
  value = helper.render_document_show_field_value :document => doc, :field => 'asdf'
308
307
  expect(value).to eq 'custom asdf value'
309
308
  end
310
309
 
311
310
  it "should check for a link_to_search" do
312
311
  doc = double()
313
- doc.should_receive(:get).with('link_to_search_true', :sep => nil).and_return('x')
312
+ allow(doc).to receive(:get).with('link_to_search_true', :sep => nil).and_return('x')
314
313
  value = helper.render_document_show_field_value :document => doc, :field => 'link_to_search_true'
315
314
  expect(value).to eq helper.link_to("x", helper.search_action_path(:f => { :link_to_search_true => ['x'] }))
316
315
  end
317
316
 
318
317
  it "should check for a link_to_search with a field name" do
319
318
  doc = double()
320
- doc.should_receive(:get).with('link_to_search_named', :sep => nil).and_return('x')
319
+ allow(doc).to receive(:get).with('link_to_search_named', :sep => nil).and_return('x')
321
320
  value = helper.render_document_show_field_value :document => doc, :field => 'link_to_search_named'
322
321
  expect(value).to eq helper.link_to("x", helper.search_action_path(:f => { :some_field => ['x'] }))
323
322
  end
324
323
 
325
324
  it "should gracefully handle when no highlight field is available" do
326
325
  doc = double()
327
- doc.should_not_receive(:get)
328
- doc.should_receive(:has_highlight_field?).and_return(false)
326
+ expect(doc).to_not receive(:get)
327
+ allow(doc).to receive(:has_highlight_field?).and_return(false)
329
328
  value = helper.render_document_show_field_value :document => doc, :field => 'highlight'
330
329
  expect(value).to be_blank
331
330
  end
332
331
 
333
332
  it "should check for a highlighted field" do
334
333
  doc = double()
335
- doc.should_not_receive(:get)
336
- doc.should_receive(:has_highlight_field?).and_return(true)
337
- doc.should_receive(:highlight_field).with('highlight').and_return(['<em>highlight</em>'.html_safe])
334
+ expect(doc).to_not receive(:get)
335
+ allow(doc).to receive(:has_highlight_field?).and_return(true)
336
+ allow(doc).to receive(:highlight_field).with('highlight').and_return(['<em>highlight</em>'.html_safe])
338
337
  value = helper.render_document_show_field_value :document => doc, :field => 'highlight'
339
338
  expect(value).to eq '<em>highlight</em>'
340
339
  end
@@ -342,14 +341,14 @@ describe BlacklightHelper do
342
341
 
343
342
  it "should check the document field value" do
344
343
  doc = double()
345
- doc.should_receive(:get).with('qwer', :sep => nil).and_return('document qwer value')
344
+ allow(doc).to receive(:get).with('qwer', :sep => nil).and_return('document qwer value')
346
345
  value = helper.render_document_show_field_value :document => doc, :field => 'qwer'
347
346
  expect(value).to eq 'document qwer value'
348
347
  end
349
348
 
350
349
  it "should work with show fields that aren't explicitly defined" do
351
350
  doc = double()
352
- doc.should_receive(:get).with('mnbv', :sep => nil).and_return('document mnbv value')
351
+ allow(doc).to receive(:get).with('mnbv', :sep => nil).and_return('document mnbv value')
353
352
  value = helper.render_document_show_field_value :document => doc, :field => 'mnbv'
354
353
  expect(value).to eq 'document mnbv value'
355
354
  end
@@ -383,38 +382,38 @@ describe BlacklightHelper do
383
382
  describe "#document_has_value?" do
384
383
  it "should if the document has the field value" do
385
384
  doc = double()
386
- doc.stub(:has?).with('asdf').and_return(true)
385
+ allow(doc).to receive(:has?).with('asdf').and_return(true)
387
386
  field_config = double(:field => 'asdf')
388
- helper.document_has_value?(doc, field_config).should == true
387
+ expect(helper.document_has_value?(doc, field_config)).to eq true
389
388
  end
390
389
 
391
390
  it "should if the document has a highlight field value" do
392
391
  doc = double()
393
- doc.stub(:has?).with('asdf').and_return(false)
394
- doc.stub(:has_highlight_field?).with('asdf').and_return(true)
392
+ allow(doc).to receive(:has?).with('asdf').and_return(false)
393
+ allow(doc).to receive(:has_highlight_field?).with('asdf').and_return(true)
395
394
  field_config = double(:field => 'asdf', :highlight => true)
396
- helper.document_has_value?(doc, field_config).should == true
395
+ expect(helper.document_has_value?(doc, field_config)).to eq true
397
396
  end
398
397
 
399
398
  it "should if the field has a model accessor" do
400
399
  doc = double()
401
- doc.stub(:has?).with('asdf').and_return(false)
402
- doc.stub(:has_highlight_field?).with('asdf').and_return(false)
400
+ allow(doc).to receive(:has?).with('asdf').and_return(false)
401
+ allow(doc).to receive(:has_highlight_field?).with('asdf').and_return(false)
403
402
  field_config = double(:field => 'asdf', :highlight => true, :accessor => true)
404
- helper.document_has_value?(doc, field_config).should == true
403
+ expect(helper.document_has_value?(doc, field_config)).to eq true
405
404
  end
406
405
  end
407
406
 
408
407
  describe "render_grouped_response?" do
409
408
  it "should check if the response ivar contains grouped data" do
410
409
  assign(:response, double("SolrResponse", :grouped? => true))
411
- expect(helper.render_grouped_response?).to be_true
410
+ expect(helper.render_grouped_response?).to be true
412
411
  end
413
412
 
414
413
 
415
414
  it "should check if the response param contains grouped data" do
416
415
  response = double("SolrResponse", :grouped? => true)
417
- expect(helper.render_grouped_response?(response)).to be_true
416
+ expect(helper.render_grouped_response?(response)).to be true
418
417
  end
419
418
  end
420
419
 
@@ -424,14 +423,14 @@ describe BlacklightHelper do
424
423
 
425
424
  describe "render_field_value" do
426
425
  before do
427
- Deprecation.stub(:warn)
426
+ allow(Deprecation).to receive(:warn)
428
427
  end
429
428
  it "should join and html-safe values" do
430
429
  expect(helper.render_field_value(['a', 'b'])).to eq "a, b"
431
430
  end
432
431
 
433
432
  it "should join values using the field_value_separator" do
434
- helper.stub(:field_value_separator).and_return(" -- ")
433
+ allow(helper).to receive(:field_value_separator).and_return(" -- ")
435
434
  expect(helper.render_field_value(['a', 'b'])).to eq "a -- b"
436
435
  end
437
436
 
@@ -446,40 +445,40 @@ describe BlacklightHelper do
446
445
 
447
446
  describe "should_show_spellcheck_suggestions?" do
448
447
  before :each do
449
- helper.stub spell_check_max: 5
448
+ allow(helper).to receive_messages spell_check_max: 5
450
449
  end
451
450
  it "should not show suggestions if there are enough results" do
452
451
  response = double(total: 10)
453
- expect(helper.should_show_spellcheck_suggestions? response).to be_false
452
+ expect(helper.should_show_spellcheck_suggestions? response).to be false
454
453
  end
455
454
 
456
455
  it "should only show suggestions if there are very few results" do
457
456
  response = double(total: 4, spelling: double(words: [1]))
458
- expect(helper.should_show_spellcheck_suggestions? response).to be_true
457
+ expect(helper.should_show_spellcheck_suggestions? response).to be true
459
458
  end
460
459
 
461
460
  it "should show suggestions only if there are spelling suggestions available" do
462
461
  response = double(total: 4, spelling: double(words: []))
463
- expect(helper.should_show_spellcheck_suggestions? response).to be_false
462
+ expect(helper.should_show_spellcheck_suggestions? response).to be false
464
463
  end
465
464
  end
466
465
 
467
466
  describe "#render_document_partials" do
468
467
  let(:doc) { double }
469
468
  before do
470
- helper.stub(document_partial_path_templates: [])
469
+ allow(helper).to receive_messages(document_partial_path_templates: [])
471
470
  end
472
471
 
473
472
  it "should get the document format from document_partial_name" do
474
- helper.should_receive(:document_partial_name).with(doc, :xyz)
473
+ allow(helper).to receive(:document_partial_name).with(doc, :xyz)
475
474
  helper.render_document_partial(doc, :xyz)
476
475
  end
477
476
 
478
477
  context "with a 1-arg form of document_partial_name" do
479
478
  it "should only call the 1-arg form of the document_partial_name" do
480
- helper.should_receive(:method).with(:document_partial_name).and_return(double(arity: 1))
481
- helper.should_receive(:document_partial_name).with(doc)
482
- Deprecation.should_receive(:warn)
479
+ allow(helper).to receive(:method).with(:document_partial_name).and_return(double(arity: 1))
480
+ allow(helper).to receive(:document_partial_name).with(doc)
481
+ allow(Deprecation).to receive(:warn)
483
482
  helper.render_document_partial(doc, nil)
484
483
  end
485
484
  end
@@ -489,7 +488,7 @@ describe BlacklightHelper do
489
488
  let(:blacklight_config) { Blacklight::Configuration.new }
490
489
 
491
490
  before do
492
- helper.stub(blacklight_config: blacklight_config)
491
+ allow(helper).to receive_messages(blacklight_config: blacklight_config)
493
492
  end
494
493
 
495
494
  context "with a solr document with empty fields" do
@@ -573,24 +572,25 @@ describe BlacklightHelper do
573
572
 
574
573
  describe "#render_document_index" do
575
574
  it "should render the document index with the current view type" do
576
- helper.stub(document_index_view_type: :current_view)
577
- helper.should_receive(:render_document_index_with_view).with(:current_view, [], a: 1, b: 2)
575
+ allow(helper).to receive_messages(document_index_view_type: :current_view)
576
+ allow(helper).to receive(:render_document_index_with_view).with(:current_view, [], a: 1, b: 2)
578
577
  helper.render_document_index [], a: 1, b: 2
579
578
  end
580
579
  end
581
580
 
582
581
  describe "#render_document_index_with_view" do
582
+ let(:obj1) { SolrDocument.new }
583
+
584
+ before do
585
+ allow(helper).to receive(:blacklight_config).and_return(CatalogController.blacklight_config)
586
+ assign(:response, double("SolrResponse", grouped?: false, params: {}))
587
+ allow(helper).to receive(:link_to_document).and_return('<a/>')
588
+ allow(helper).to receive(:render_index_doc_actions).and_return('<div/>')
589
+ end
590
+
583
591
  it "should ignore missing templates" do
584
- helper.stub(:render) do |options|
585
- if options[:partial] == "document_view_type"
586
- raise ActionView::MissingTemplate.new [], '', '', '', ''
587
- else
588
- options[:partial]
589
- end
590
- end
591
-
592
- response = helper.render_document_index_with_view :view_type, [double, double]
593
- expect(response).to eq "catalog/document_view_type"
592
+ response = helper.render_document_index_with_view :view_type, [obj1, obj1]
593
+ expect(response).to match /<div id="documents">/
594
594
  end
595
595
  end
596
596
  end