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
@@ -7,8 +7,8 @@ describe Blacklight::Routes do
7
7
  describe "without constraints" do
8
8
  let(:options) { Hash.new }
9
9
  it "should define the resources" do
10
- router.should_receive(:resources).with(:solr_document, {:path=>:records, :controller=>:records, :only=>[:show]})
11
- router.should_receive(:resources).with(:records, :only=>[:show])
10
+ allow(router).to receive(:resources).with(:solr_document, {:path=>:records, :controller=>:records, :only=>[:show]})
11
+ allow(router).to receive(:resources).with(:records, :only=>[:show])
12
12
  subject.solr_document(:records)
13
13
  end
14
14
  end
@@ -16,8 +16,8 @@ describe Blacklight::Routes do
16
16
  describe "with constraints" do
17
17
  let(:options) { { :constraints => {id: /[a-z]+/, format: false } } }
18
18
  it "should define the resources" do
19
- router.should_receive(:resources).with(:solr_document, {:path=>:records, :controller=>:records, :only=>[:show], :constraints=>{:id=>/[a-z]+/, :format=>false} })
20
- router.should_receive(:resources).with(:records, :only=>[:show], :constraints=>{:id=>/[a-z]+/, :format=>false})
19
+ allow(router).to receive(:resources).with(:solr_document, {:path=>:records, :controller=>:records, :only=>[:show], :constraints=>{:id=>/[a-z]+/, :format=>false} })
20
+ allow(router).to receive(:resources).with(:records, :only=>[:show], :constraints=>{:id=>/[a-z]+/, :format=>false})
21
21
  subject.solr_document(:records)
22
22
  end
23
23
  end
@@ -20,7 +20,7 @@ describe Blacklight::SearchFields do
20
20
 
21
21
  before(:each) do
22
22
  @search_field_obj = MockConfig.new
23
- @search_field_obj.stub(:blacklight_config).and_return(@config)
23
+ allow(@search_field_obj).to receive(:blacklight_config).and_return(@config)
24
24
  end
25
25
 
26
26
  it "should return search field list with calculated :label when needed" do
@@ -50,7 +50,7 @@ describe Blacklight::SearchFields do
50
50
  @bad_config = MockConfig.new
51
51
  end
52
52
  it "should raise exception on #search_field_list" do
53
- expect { @bad_config.stub(:blacklight_config).and_return(Blacklight::Configuration.new { |config|
53
+ expect { allow(@bad_config).to receive(:blacklight_config).and_return(Blacklight::Configuration.new { |config|
54
54
  config.add_search_field :label => 'All Fields', :qt => 'all_fields'
55
55
  config.add_search_field 'title', :qt => 'title_search'
56
56
  }) }.to raise_error
@@ -62,7 +62,7 @@ describe Blacklight::SearchFields do
62
62
  @bad_config = MockConfig.new
63
63
  end
64
64
  it "should raise on #search_field_list" do
65
- expect { @bad_config.stub(:blacklight_config).and_return(Blacklight::Configuration.new { |config|
65
+ expect { allow(@bad_config).to receive(:blacklight_config).and_return(Blacklight::Configuration.new { |config|
66
66
  config.add_search_field 'my_key', :label => 'All Fields'
67
67
  config.add_search_field 'my_key', :label => 'title'
68
68
 
@@ -160,7 +160,7 @@ describe "Blacklight::Solr::Document" do
160
160
  # registration in an after, sorry.
161
161
  end
162
162
  it "registers format" do
163
- expect(defined?("Mime::MOCK2")).to be_true
163
+ expect(defined?("Mime::MOCK2")).to be_truthy
164
164
  end
165
165
  it "registers as alias only" do
166
166
  expect(Mime::Type.lookup("application/mock2")).not_to equal Mime::Type.lookup_by_extension("mock2")
@@ -176,7 +176,7 @@ describe "Blacklight::Solr::Document" do
176
176
  it "should know if a document is exportable" do
177
177
  doc = MockDocument.new
178
178
  doc.will_export_as(:marc, "application/marc")
179
- expect(doc.exports_as?(:marc)).to be_true
179
+ expect(doc.exports_as?(:marc)).to be true
180
180
  end
181
181
  end
182
182
 
@@ -55,25 +55,25 @@ describe Blacklight::SolrHelper do
55
55
  describe "#find" do
56
56
  it "should use the configured solr path" do
57
57
  blacklight_config.solr_path = 'xyz'
58
- blacklight_solr.should_receive(:send_and_receive).with('xyz', anything).and_return("{}".to_json)
58
+ allow(blacklight_solr).to receive(:send_and_receive).with('xyz', anything).and_return("{}".to_json)
59
59
  expect(subject.find({})).to be_a_kind_of Blacklight::SolrResponse
60
60
  end
61
61
 
62
62
  it "should override the configured solr path" do
63
63
  blacklight_config.solr_path = 'xyz'
64
- blacklight_solr.should_receive(:send_and_receive).with('abc', anything).and_return("{}".to_json)
64
+ allow(blacklight_solr).to receive(:send_and_receive).with('abc', anything).and_return("{}".to_json)
65
65
  expect(subject.find('abc', {})).to be_a_kind_of Blacklight::SolrResponse
66
66
  end
67
67
 
68
68
  it "should use a default :qt param" do
69
69
  blacklight_config.qt = 'xyz'
70
- blacklight_solr.should_receive(:send_and_receive).with('select', hash_including(params: { qt: 'xyz'})).and_return("{}".to_json)
70
+ allow(blacklight_solr).to receive(:send_and_receive).with('select', hash_including(params: { qt: 'xyz'})).and_return("{}".to_json)
71
71
  expect(subject.find({})).to be_a_kind_of Blacklight::SolrResponse
72
72
  end
73
73
 
74
74
  it "should use the provided :qt param" do
75
75
  blacklight_config.qt = 'xyz'
76
- blacklight_solr.should_receive(:send_and_receive).with('select', hash_including(params: { qt: 'abc'})).and_return("{}".to_json)
76
+ allow(blacklight_solr).to receive(:send_and_receive).with('select', hash_including(params: { qt: 'abc'})).and_return("{}".to_json)
77
77
  expect(subject.find({qt: 'abc'})).to be_a_kind_of Blacklight::SolrResponse
78
78
  end
79
79
 
@@ -82,7 +82,7 @@ describe Blacklight::SolrHelper do
82
82
 
83
83
  it "defaults to get" do
84
84
  expect(blacklight_config.http_method).to eq :get
85
- blacklight_solr.should_receive(:send_and_receive) do |path, params|
85
+ allow(blacklight_solr).to receive(:send_and_receive) do |path, params|
86
86
  expect(path).to eq 'select'
87
87
  expect(params[:method]).to eq :get
88
88
  expect(params[:params]).to include(:q)
@@ -96,7 +96,7 @@ describe Blacklight::SolrHelper do
96
96
 
97
97
  it "keep value set to post" do
98
98
  expect(blacklight_config.http_method).to eq :post
99
- blacklight_solr.should_receive(:send_and_receive) do |path, params|
99
+ allow(blacklight_solr).to receive(:send_and_receive) do |path, params|
100
100
  expect(path).to eq 'select'
101
101
  expect(params[:method]).to eq :post
102
102
  expect(params[:data]).to include(:q)
@@ -121,7 +121,7 @@ describe Blacklight::SolrHelper do
121
121
  it "allows customization of solr_search_params_logic" do
122
122
  # Normally you'd include a new module into (eg) your CatalogController
123
123
  # but a sub-class defininig it directly is simpler for test.
124
- subject.stub(:add_foo_to_solr_params) do |solr_params, user_params|
124
+ allow(subject).to receive(:add_foo_to_solr_params) do |solr_params, user_params|
125
125
  solr_params[:wt] = "TESTING"
126
126
  end
127
127
 
@@ -260,19 +260,19 @@ describe Blacklight::SolrHelper do
260
260
  end
261
261
 
262
262
  it "should pass date-type fields through" do
263
- blacklight_config.facet_fields.stub(:[]).with('facet_name').and_return(double(:date => true, :query => nil, :tag => nil))
263
+ allow(blacklight_config.facet_fields).to receive(:[]).with('facet_name').and_return(double(:date => true, :query => nil, :tag => nil))
264
264
 
265
265
  expect(subject.send(:facet_value_to_fq_string, "facet_name", "2012-01-01")).to eq "facet_name:2012\\-01\\-01"
266
266
  end
267
267
 
268
268
  it "should escape datetime-type fields" do
269
- blacklight_config.facet_fields.stub(:[]).with('facet_name').and_return(double(:date => true, :query => nil, :tag => nil))
269
+ allow(blacklight_config.facet_fields).to receive(:[]).with('facet_name').and_return(double(:date => true, :query => nil, :tag => nil))
270
270
 
271
271
  expect(subject.send(:facet_value_to_fq_string, "facet_name", "2003-04-09T00:00:00Z")).to eq "facet_name:2003\\-04\\-09T00\\:00\\:00Z"
272
272
  end
273
273
 
274
274
  it "should format Date objects correctly" do
275
- blacklight_config.facet_fields.stub(:[]).with('facet_name').and_return(double(:date => nil, :query => nil, :tag => nil))
275
+ allow(blacklight_config.facet_fields).to receive(:[]).with('facet_name').and_return(double(:date => nil, :query => nil, :tag => nil))
276
276
  d = DateTime.parse("2003-04-09T00:00:00")
277
277
  expect(subject.send(:facet_value_to_fq_string, "facet_name", d)).to eq "facet_name:2003\\-04\\-09T00\\:00\\:00Z"
278
278
  end
@@ -282,7 +282,7 @@ describe Blacklight::SolrHelper do
282
282
  end
283
283
 
284
284
  it "should add tag local parameters" do
285
- blacklight_config.facet_fields.stub(:[]).with('facet_name').and_return(double(:query => nil, :tag => 'asdf', :date => nil))
285
+ allow(blacklight_config.facet_fields).to receive(:[]).with('facet_name').and_return(double(:query => nil, :tag => 'asdf', :date => nil))
286
286
 
287
287
  expect(subject.send(:facet_value_to_fq_string, "facet_name", true)).to eq "{!tag=asdf}facet_name:true"
288
288
  expect(subject.send(:facet_value_to_fq_string, "facet_name", "my value")).to eq "{!raw f=facet_name tag=asdf}my value"
@@ -334,7 +334,7 @@ describe Blacklight::SolrHelper do
334
334
 
335
335
  describe "overriding of qt parameter" do
336
336
  it "should return the correct overriden parameter" do
337
- subject.stub(params: { qt: 'overridden' })
337
+ allow(subject).to receive_messages(params: { qt: 'overridden' })
338
338
 
339
339
  expect(subject.solr_search_params[:qt]).to eq "overridden"
340
340
  end
@@ -397,7 +397,7 @@ describe Blacklight::SolrHelper do
397
397
  end
398
398
 
399
399
  it "should add sort parameters" do
400
- expect(solr_parameters[:facet]).to be_true
400
+ expect(solr_parameters[:facet]).to be true
401
401
 
402
402
  expect(solr_parameters[:'facet.field']).to include('test_field')
403
403
  expect(solr_parameters[:'f.test_field.facet.sort']).to eq 'count'
@@ -494,7 +494,7 @@ describe Blacklight::SolrHelper do
494
494
  end
495
495
 
496
496
  before do
497
- subject.stub params: {:search_field => "test_field", :q => "test query", "facet.field" => "extra_facet"}
497
+ allow(subject).to receive_messages params: {:search_field => "test_field", :q => "test query", "facet.field" => "extra_facet"}
498
498
  end
499
499
 
500
500
  it "should merge parameters from search_field definition" do
@@ -579,7 +579,7 @@ describe Blacklight::SolrHelper do
579
579
  end
580
580
 
581
581
  before do
582
- subject.stub params: {:search_field => "custom_author_key", :q => "query"}
582
+ allow(subject).to receive_messages params: {:search_field => "custom_author_key", :q => "query"}
583
583
  end
584
584
 
585
585
  before do
@@ -666,7 +666,7 @@ describe Blacklight::SolrHelper do
666
666
 
667
667
  describe 'if facet_list_limit is defined in controller' do
668
668
  before do
669
- subject.stub facet_list_limit: 1000
669
+ allow(subject).to receive_messages facet_list_limit: 1000
670
670
  end
671
671
  it 'uses controller method for limit' do
672
672
  solr_params = subject.solr_facet_params(@facet_field)
@@ -710,7 +710,7 @@ describe Blacklight::SolrHelper do
710
710
  end
711
711
  describe "for facet limit parameters config ed" do
712
712
  before do
713
- subject.stub params: {:search_field => "test_field", :q => "test query"}
713
+ allow(subject).to receive_messages params: {:search_field => "test_field", :q => "test query"}
714
714
  @generated_params = subject.solr_search_params
715
715
  end
716
716
 
@@ -750,8 +750,8 @@ describe Blacklight::SolrHelper do
750
750
  end
751
751
 
752
752
  it "should use the configured request handler " do
753
- blacklight_config.stub(:default_solr_params).and_return({:qt => 'custom_request_handler'})
754
- blacklight_solr.should_receive(:send_and_receive) do |path, params|
753
+ allow(blacklight_config).to receive(:default_solr_params).and_return({:qt => 'custom_request_handler'})
754
+ allow(blacklight_solr).to receive(:send_and_receive) do |path, params|
755
755
  expect(path).to eq 'select'
756
756
  expect(params[:params]['facet.field']).to eq ["format", "{!ex=pub_date_single}pub_date", "subject_topic_facet", "language_facet", "lc_1letter_facet", "subject_geo_facet", "subject_era_facet"]
757
757
  expect(params[:params]["facet.query"]).to eq ["pub_date:[#{5.years.ago.year} TO *]", "pub_date:[#{10.years.ago.year} TO *]", "pub_date:[#{25.years.ago.year} TO *]"]
@@ -797,7 +797,7 @@ describe Blacklight::SolrHelper do
797
797
  let(:blacklight_config) { copy_of_catalog_config }
798
798
 
799
799
  before do
800
- subject.stub grouped_key_for_results: 'title_sort'
800
+ allow(subject).to receive_messages grouped_key_for_results: 'title_sort'
801
801
  (@solr_response, @document_list) = subject.get_search_results({:q => @all_docs_query}, :group => true, :'group.field' => ['pub_date_sort', 'title_sort'])
802
802
  end
803
803
 
@@ -1048,14 +1048,14 @@ describe Blacklight::SolrHelper do
1048
1048
  end
1049
1049
 
1050
1050
  it "should use a provided document request handler " do
1051
- blacklight_config.stub(:document_solr_request_handler => 'document')
1052
- blacklight_solr.should_receive(:send_and_receive).with('select', kind_of(Hash)).and_return({'response'=>{'docs'=>[]}})
1051
+ allow(blacklight_config).to receive_messages(:document_solr_request_handler => 'document')
1052
+ allow(blacklight_solr).to receive(:send_and_receive).with('select', kind_of(Hash)).and_return({'response'=>{'docs'=>[]}})
1053
1053
  expect { subject.get_solr_response_for_doc_id(@doc_id)}.to raise_error Blacklight::Exceptions::InvalidSolrID
1054
1054
  end
1055
1055
 
1056
1056
  it "should use a provided document solr path " do
1057
- blacklight_config.stub(:document_solr_path => 'get')
1058
- blacklight_solr.should_receive(:send_and_receive).with('get', kind_of(Hash)).and_return({'response'=>{'docs'=>[]}})
1057
+ allow(blacklight_config).to receive_messages(:document_solr_path => 'get')
1058
+ allow(blacklight_solr).to receive(:send_and_receive).with('get', kind_of(Hash)).and_return({'response'=>{'docs'=>[]}})
1059
1059
  expect { subject.get_solr_response_for_doc_id(@doc_id)}.to raise_error Blacklight::Exceptions::InvalidSolrID
1060
1060
  end
1061
1061
 
@@ -1085,7 +1085,7 @@ describe Blacklight::SolrHelper do
1085
1085
  end
1086
1086
 
1087
1087
  it "should use the document_unique_id_param configuration" do
1088
- blacklight_config.stub(document_unique_id_param: :ids)
1088
+ allow(blacklight_config).to receive_messages(document_unique_id_param: :ids)
1089
1089
  doc_params = subject.solr_doc_params('asdfg')
1090
1090
  expect(doc_params[:ids]).to eq 'asdfg'
1091
1091
  end
@@ -1105,7 +1105,7 @@ describe Blacklight::SolrHelper do
1105
1105
  =begin
1106
1106
  # Can't test this properly without updating the "document" request handler in solr
1107
1107
  it "should respect the configuration-supplied unique id" do
1108
- SolrDocument.should_receive(:unique_key).and_return("title_display")
1108
+ allow(SolrDocument).to receive(:unique_key).and_return("title_display")
1109
1109
  @response, @document = @solr_helper.get_solr_response_for_doc_id('"Strong Medicine speaks"')
1110
1110
  @document.id).to eq '"Strong Medicine speaks"'
1111
1111
  @document.get(:id)).to eq 2007020969
@@ -1135,7 +1135,7 @@ describe Blacklight::SolrHelper do
1135
1135
 
1136
1136
  doc2 = get_single_doc_via_search(@all_docs_query, nil, @doc_row, @multi_facets)
1137
1137
  it "should limit search result by facets when supplied" do
1138
- response2.docs.numFound.should_be < response.docs.numFound
1138
+ response2expect(.docs.numFound).to_be < response.docs.numFound
1139
1139
  end
1140
1140
 
1141
1141
  it "should not have facets in the response" do
@@ -1175,7 +1175,7 @@ describe Blacklight::SolrHelper do
1175
1175
  expect(solr_response.spelling.words).to include('political') # more freq
1176
1176
  =begin
1177
1177
  # when we can have multiple suggestions
1178
- solr_response.spelling.words.should_not include('policy') # less freq
1178
+ expect(solr_response.spelling.words).to_not include('policy') # less freq
1179
1179
  solr_response.spelling.words).to include('politics') # more freq
1180
1180
  solr_response.spelling.words).to include('political') # more freq
1181
1181
  =end
@@ -1197,7 +1197,7 @@ describe Blacklight::SolrHelper do
1197
1197
  end
1198
1198
 
1199
1199
  it 'search results for multiple terms query with just-poor-enough-terms should have spelling suggestions for each term' do
1200
- pending
1200
+ skip
1201
1201
  # get_spelling_suggestion("histo politica").should_not be_nil
1202
1202
  end
1203
1203
 
@@ -1215,7 +1215,7 @@ describe Blacklight::SolrHelper do
1215
1215
 
1216
1216
  it "facet_limit_hash should return hash with key being facet_field and value being configured limit" do
1217
1217
  # facet_limit_hash has been removed from solrhelper in refactor. should it go back?
1218
- pending "facet_limit_hash has been removed from solrhelper in refactor. should it go back?"
1218
+ skip "facet_limit_hash has been removed from solrhelper in refactor. should it go back?"
1219
1219
  expect(subject.facet_limit_hash).to eq blacklight_config[:facet][:limits]
1220
1220
  end
1221
1221
  it "should handle no facet_limits in config" do
@@ -1238,14 +1238,14 @@ describe Blacklight::SolrHelper do
1238
1238
  end
1239
1239
  it "should get from @response facet.limit if available" do
1240
1240
  @response = double()
1241
- @response.stub(:facet_by_field_name).with("language_facet").and_return(double(limit: nil))
1241
+ allow(@response).to receive(:facet_by_field_name).with("language_facet").and_return(double(limit: nil))
1242
1242
  subject.instance_variable_set(:@response, @response)
1243
1243
  blacklight_config.facet_fields['language_facet'].limit = 10
1244
1244
  expect(subject.facet_limit_for("language_facet")).to eq 10
1245
1245
  end
1246
1246
  it "should get the limit from the facet field in @response" do
1247
1247
  @response = double()
1248
- @response.stub(:facet_by_field_name).with("language_facet").and_return(double(limit: 16))
1248
+ allow(@response).to receive(:facet_by_field_name).with("language_facet").and_return(double(limit: 16))
1249
1249
  subject.instance_variable_set(:@response, @response)
1250
1250
  expect(subject.facet_limit_for("language_facet")).to eq 15
1251
1251
  end
@@ -1268,20 +1268,20 @@ describe Blacklight::SolrHelper do
1268
1268
  describe "#get_solr_response_for_field_values" do
1269
1269
  before do
1270
1270
  @mock_response = double()
1271
- @mock_response.stub(documents: [])
1271
+ allow(@mock_response).to receive_messages(documents: [])
1272
1272
  end
1273
1273
  it "should contruct a solr query based on the field and value pair" do
1274
- subject.should_receive(:find).with(hash_including(:q => "field_name:(value)")).and_return(@mock_response)
1274
+ allow(subject).to receive(:find).with(hash_including(:q => "field_name:(value)")).and_return(@mock_response)
1275
1275
  subject.get_solr_response_for_field_values('field_name', 'value')
1276
1276
  end
1277
1277
 
1278
1278
  it "should OR multiple values together" do
1279
- subject.should_receive(:find).with(hash_including(:q => "field_name:(a OR b)")).and_return(@mock_response)
1279
+ allow(subject).to receive(:find).with(hash_including(:q => "field_name:(a OR b)")).and_return(@mock_response)
1280
1280
  subject.get_solr_response_for_field_values('field_name', ['a', 'b'])
1281
1281
  end
1282
1282
 
1283
1283
  it "should escape crazy identifiers" do
1284
- subject.should_receive(:find).with(hash_including(:q => "field_name:(\"h://\\\"\\\'\")")).and_return(@mock_response)
1284
+ allow(subject).to receive(:find).with(hash_including(:q => "field_name:(\"h://\\\"\\\'\")")).and_return(@mock_response)
1285
1285
  subject.get_solr_response_for_field_values('field_name', 'h://"\'')
1286
1286
  end
1287
1287
  end
@@ -1294,7 +1294,7 @@ describe Blacklight::SolrHelper do
1294
1294
  # more like this
1295
1295
  # nearby on shelf
1296
1296
  it "should raise a Blacklight exception if RSolr can't connect to the Solr instance" do
1297
- blacklight_solr.stub(:send_and_receive).and_raise(Errno::ECONNREFUSED)
1297
+ allow(blacklight_solr).to receive(:send_and_receive).and_raise(Errno::ECONNREFUSED)
1298
1298
  expect { subject.find(:a => 123) }.to raise_exception(/Unable to connect to Solr instance/)
1299
1299
  end
1300
1300
 
@@ -12,7 +12,7 @@ describe Blacklight::SolrResponse::GroupResponse do
12
12
 
13
13
  describe "groups" do
14
14
  it "should return an array of Groups" do
15
- response.grouped.should be_a Array
15
+ expect(response.grouped).to be_a Array
16
16
 
17
17
  expect(group.groups).to have(2).items
18
18
  group.groups.each do |group|
@@ -28,16 +28,16 @@ describe Blacklight::SolrResponse do
28
28
  end
29
29
 
30
30
  it 'should provide facet helpers' do
31
- r.facets.size.should == 2
31
+ expect(r.facets.size).to eq 2
32
32
 
33
33
  field_names = r.facets.collect{|facet|facet.name}
34
- field_names.include?('cat').should == true
35
- field_names.include?('manu').should == true
34
+ expect(field_names.include?('cat')).to be true
35
+ expect(field_names.include?('manu')).to be true
36
36
 
37
37
  first_facet = r.facets.select { |x| x.name == 'cat'}.first
38
- first_facet.name.should == 'cat'
38
+ expect(first_facet.name).to eq 'cat'
39
39
 
40
- first_facet.items.size.should == 10
40
+ expect(first_facet.items.size).to eq 10
41
41
 
42
42
  expected = "electronics - 14, memory - 3, card - 2, connector - 2, drive - 2, graphics - 2, hard - 2, monitor - 2, search - 2, software - 2"
43
43
  received = first_facet.items.collect do |item|
@@ -73,7 +73,7 @@ describe Blacklight::SolrResponse do
73
73
  it "should provide a model name helper" do
74
74
  first_doc_model_name = double(:human => 'xyz')
75
75
 
76
- r.docs.first.stub(:model_name).and_return first_doc_model_name
76
+ allow(r.docs.first).to receive(:model_name).and_return first_doc_model_name
77
77
 
78
78
  expect(r.model_name).to eq first_doc_model_name
79
79
  end
@@ -81,33 +81,33 @@ describe Blacklight::SolrResponse do
81
81
  describe "FacetItem" do
82
82
  it "should work with a field,value tuple" do
83
83
  item = Blacklight::SolrResponse::Facets::FacetItem.new('value', 15)
84
- item.value.should == 'value'
85
- item.hits.should == 15
84
+ expect(item.value).to eq 'value'
85
+ expect(item.hits).to eq 15
86
86
  end
87
87
 
88
88
  it "should work with a field,value + hash triple" do
89
89
  item = Blacklight::SolrResponse::Facets::FacetItem.new('value', 15, :a => 1, :value => 'ignored')
90
- item.value.should == 'value'
91
- item.hits.should == 15
92
- item.a.should == 1
90
+ expect(item.value).to eq 'value'
91
+ expect(item.hits).to eq 15
92
+ expect(item.a).to eq 1
93
93
  end
94
94
 
95
95
  it "should work like an openstruct" do
96
96
  item = Blacklight::SolrResponse::Facets::FacetItem.new(:value => 'value', :hits => 15)
97
97
 
98
- item.hits.should == 15
99
- item.value.should == 'value'
100
- item.should be_a_kind_of(OpenStruct)
98
+ expect(item.hits).to eq 15
99
+ expect(item.value).to eq 'value'
100
+ expect(item).to be_a_kind_of(OpenStruct)
101
101
  end
102
102
 
103
103
  it "should provide a label accessor" do
104
104
  item = Blacklight::SolrResponse::Facets::FacetItem.new('value', :hits => 15)
105
- item.label.should == 'value'
105
+ expect(item.label).to eq 'value'
106
106
  end
107
107
 
108
108
  it "should use a provided label" do
109
109
  item = Blacklight::SolrResponse::Facets::FacetItem.new('value', 15, :label => 'custom label')
110
- item.label.should == 'custom label'
110
+ expect(item.label).to eq 'custom label'
111
111
 
112
112
  end
113
113
 
@@ -116,78 +116,78 @@ describe Blacklight::SolrResponse do
116
116
  it 'should return the correct value when calling facet_by_field_name' do
117
117
  r = create_response
118
118
  facet = r.facet_by_field_name('cat')
119
- facet.name.should == 'cat'
119
+ expect(facet.name).to eq 'cat'
120
120
  end
121
121
 
122
122
  it 'should provide the responseHeader params' do
123
123
  raw_response = eval(mock_query_response)
124
124
  raw_response['responseHeader']['params']['test'] = :test
125
125
  r = Blacklight::SolrResponse.new(raw_response, raw_response['params'])
126
- r.params['test'].should == :test
126
+ expect(r.params['test']).to eq :test
127
127
  end
128
128
 
129
129
  it 'should provide the solr-returned params and "rows" should be 11' do
130
130
  raw_response = eval(mock_query_response)
131
131
  r = Blacklight::SolrResponse.new(raw_response, {})
132
- r.params[:rows].to_s.should == '11'
132
+ expect(r.params[:rows].to_s).to eq '11'
133
133
  end
134
134
 
135
135
  it 'should provide the ruby request params if responseHeader["params"] does not exist' do
136
136
  raw_response = eval(mock_query_response)
137
137
  raw_response.delete 'responseHeader'
138
138
  r = Blacklight::SolrResponse.new(raw_response, :rows => 999)
139
- r.params[:rows].to_s.should == '999'
139
+ expect(r.params[:rows].to_s).to eq '999'
140
140
  end
141
141
 
142
142
  it 'should provide spelling suggestions for regular spellcheck results' do
143
143
  raw_response = eval(mock_response_with_spellcheck)
144
144
  r = Blacklight::SolrResponse.new(raw_response, {})
145
- r.spelling.words.should include("dell")
146
- r.spelling.words.should include("ultrasharp")
145
+ expect(r.spelling.words).to include("dell")
146
+ expect(r.spelling.words).to include("ultrasharp")
147
147
  end
148
148
 
149
149
  it 'should provide spelling suggestions for extended spellcheck results' do
150
150
  raw_response = eval(mock_response_with_spellcheck_extended)
151
151
  r = Blacklight::SolrResponse.new(raw_response, {})
152
- r.spelling.words.should include("dell")
153
- r.spelling.words.should include("ultrasharp")
152
+ expect(r.spelling.words).to include("dell")
153
+ expect(r.spelling.words).to include("ultrasharp")
154
154
  end
155
155
 
156
156
  it 'should provide no spelling suggestions when extended results and suggestion frequency is the same as original query frequency' do
157
157
  raw_response = eval(mock_response_with_spellcheck_same_frequency)
158
158
  r = Blacklight::SolrResponse.new(raw_response, {})
159
- r.spelling.words.should == []
159
+ expect(r.spelling.words).to eq []
160
160
  end
161
161
 
162
162
  it 'should provide spelling suggestions for a regular spellcheck results with a collation' do
163
163
  raw_response = eval(mock_response_with_spellcheck_collation)
164
164
  r = Blacklight::SolrResponse.new(raw_response, {})
165
- r.spelling.words.should include("dell")
166
- r.spelling.words.should include("ultrasharp")
165
+ expect(r.spelling.words).to include("dell")
166
+ expect(r.spelling.words).to include("ultrasharp")
167
167
  end
168
168
 
169
169
  it 'should provide spelling suggestion collation' do
170
170
  raw_response = eval(mock_response_with_spellcheck_collation)
171
171
  r = Blacklight::SolrResponse.new(raw_response, {})
172
- r.spelling.collation.should == 'dell ultrasharp'
172
+ expect(r.spelling.collation).to eq 'dell ultrasharp'
173
173
  end
174
174
 
175
175
  it "should provide MoreLikeThis suggestions" do
176
176
  raw_response = eval(mock_response_with_more_like_this)
177
177
  r = Blacklight::SolrResponse.new(raw_response, {})
178
- r.more_like(double(:id => '79930185')).should have(2).items
178
+ expect(r.more_like(double(:id => '79930185'))).to have(2).items
179
179
  end
180
180
 
181
181
  it "should be empty when the response has no results" do
182
182
  r = Blacklight::SolrResponse.new({}, {})
183
- r.stub(:total => 0)
183
+ allow(r).to receive_messages(:total => 0)
184
184
  expect(r).to be_empty
185
185
  end
186
186
 
187
187
  describe "#export_formats" do
188
188
  it "should collect the unique export formats for the current response" do
189
189
  r = Blacklight::SolrResponse.new({}, {})
190
- r.stub(documents: [double(:export_formats => { a: 1, b: 2}), double(:export_formats => { b: 1, c: 2})])
190
+ allow(r).to receive_messages(documents: [double(:export_formats => { a: 1, b: 2}), double(:export_formats => { b: 1, c: 2})])
191
191
  expect(r.export_formats).to include :a, :b
192
192
  end
193
193
  end