blacklight 5.0.3 → 5.1.0

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 (47) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -2
  3. data/Gemfile +9 -9
  4. data/Rakefile +0 -1
  5. data/VERSION +1 -1
  6. data/app/assets/stylesheets/blacklight/_facets.css.scss +2 -1
  7. data/app/controllers/bookmarks_controller.rb +0 -1
  8. data/app/helpers/blacklight/blacklight_helper_behavior.rb +3 -3
  9. data/app/helpers/blacklight/catalog_helper_behavior.rb +5 -1
  10. data/app/helpers/blacklight/configuration_helper_behavior.rb +60 -0
  11. data/app/helpers/blacklight/facets_helper_behavior.rb +3 -5
  12. data/app/helpers/blacklight/render_constraints_helper_behavior.rb +1 -1
  13. data/app/helpers/blacklight/url_helper_behavior.rb +24 -19
  14. data/app/views/catalog/_facet_layout.html.erb +1 -1
  15. data/app/views/catalog/_facet_limit.html.erb +2 -4
  16. data/app/views/catalog/_facet_pagination.html.erb +0 -1
  17. data/app/views/catalog/facet.html.erb +2 -13
  18. data/blacklight.gemspec +3 -3
  19. data/gemfiles/rails3.gemfile +19 -5
  20. data/gemfiles/rails4.gemfile +17 -5
  21. data/lib/blacklight/catalog.rb +55 -10
  22. data/lib/blacklight/configuration.rb +6 -1
  23. data/lib/blacklight/configuration/fields.rb +38 -4
  24. data/lib/blacklight/controller.rb +10 -1
  25. data/lib/blacklight/facet.rb +8 -0
  26. data/lib/blacklight/solr_helper.rb +53 -25
  27. data/lib/blacklight/solr_response/facets.rb +22 -4
  28. data/spec/controllers/catalog_controller_spec.rb +59 -2
  29. data/spec/features/alternate_controller_spec.rb +3 -3
  30. data/spec/features/record_view_spec.rb +1 -1
  31. data/spec/helpers/blacklight_helper_spec.rb +5 -5
  32. data/spec/helpers/catalog_helper_spec.rb +20 -7
  33. data/spec/helpers/configuration_helper_spec.rb +42 -0
  34. data/spec/helpers/facets_helper_spec.rb +5 -12
  35. data/spec/helpers/render_constraints_helper_spec.rb +4 -1
  36. data/spec/helpers/url_helper_spec.rb +37 -49
  37. data/spec/lib/blacklight/configuration_spec.rb +53 -1
  38. data/spec/lib/blacklight/solr_helper_spec.rb +37 -4
  39. data/spec/test_app_templates/Gemfile.extra +21 -0
  40. data/spec/test_app_templates/lib/generators/test_app_generator.rb +5 -0
  41. data/spec/test_app_templates/lib/tasks/blacklight_test_app.rake +14 -0
  42. data/spec/views/catalog/_constraints.html.erb_spec.rb +2 -2
  43. data/spec/views/catalog/_facet_layout.html.erb_spec.rb +3 -1
  44. data/spec/views/catalog/_facets.html.erb_spec.rb +42 -40
  45. data/spec/views/catalog/facet.html.erb_spec.rb +30 -0
  46. metadata +23 -33
  47. data/spec/views/catalog/opensearch.xml.builder_spec.rb +0 -10
@@ -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_path}']")
6
+ page.should 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_path}']")
18
+ page.should 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_path}']")
28
+ page.should 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"
@@ -35,6 +35,6 @@ describe "Record View" do
35
35
  it "should not display 404" do
36
36
  visit catalog_path('this_id_does_not_exist')
37
37
  page.driver.status_code.should == 404
38
- expect(page).to have_content "Sorry, you have requested a record that doesn't exist."
38
+ expect(page).to have_content "The page you were looking for doesn't exist."
39
39
  end
40
40
  end
@@ -12,7 +12,7 @@ describe BlacklightHelper do
12
12
  end
13
13
 
14
14
  before(:each) do
15
- helper.stub(:search_action_url) do |*args|
15
+ helper.stub(:search_action_path) do |*args|
16
16
  catalog_index_url *args
17
17
  end
18
18
  end
@@ -155,14 +155,14 @@ describe BlacklightHelper do
155
155
  doc = double()
156
156
  doc.should_receive(:get).with('link_to_search_true', :sep => nil).and_return('x')
157
157
  value = helper.render_index_field_value :document => doc, :field => 'link_to_search_true'
158
- expect(value).to eq helper.link_to("x", helper.search_action_url(:f => { :link_to_search_true => ['x'] }))
158
+ expect(value).to eq helper.link_to("x", helper.search_action_path(:f => { :link_to_search_true => ['x'] }))
159
159
  end
160
160
 
161
161
  it "should check for a link_to_search with a field name" do
162
162
  doc = double()
163
163
  doc.should_receive(:get).with('link_to_search_named', :sep => nil).and_return('x')
164
164
  value = helper.render_index_field_value :document => doc, :field => 'link_to_search_named'
165
- expect(value).to eq helper.link_to("x", helper.search_action_url(:f => { :some_field => ['x'] }))
165
+ expect(value).to eq helper.link_to("x", helper.search_action_path(:f => { :some_field => ['x'] }))
166
166
  end
167
167
 
168
168
  it "should gracefully handle when no highlight field is available" do
@@ -253,14 +253,14 @@ describe BlacklightHelper do
253
253
  doc = double()
254
254
  doc.should_receive(:get).with('link_to_search_true', :sep => nil).and_return('x')
255
255
  value = helper.render_document_show_field_value :document => doc, :field => 'link_to_search_true'
256
- expect(value).to eq helper.link_to("x", helper.search_action_url(:f => { :link_to_search_true => ['x'] }))
256
+ expect(value).to eq helper.link_to("x", helper.search_action_path(:f => { :link_to_search_true => ['x'] }))
257
257
  end
258
258
 
259
259
  it "should check for a link_to_search with a field name" do
260
260
  doc = double()
261
261
  doc.should_receive(:get).with('link_to_search_named', :sep => nil).and_return('x')
262
262
  value = helper.render_document_show_field_value :document => doc, :field => 'link_to_search_named'
263
- expect(value).to eq helper.link_to("x", helper.search_action_url(:f => { :some_field => ['x'] }))
263
+ expect(value).to eq helper.link_to("x", helper.search_action_path(:f => { :some_field => ['x'] }))
264
264
  end
265
265
 
266
266
  it "should gracefully handle when no highlight field is available" do
@@ -177,9 +177,9 @@ describe CatalogHelper do
177
177
  end
178
178
 
179
179
  describe "render_thumbnail_tag" do
180
+ let(:document) { double }
180
181
  it "should call the provided thumbnail method" do
181
182
  helper.stub(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_method => :xyz) ))
182
- document = double()
183
183
  helper.stub(:xyz => "some-thumbnail")
184
184
 
185
185
  helper.should_receive(:link_to_document).with(document, :label => "some-thumbnail")
@@ -188,8 +188,7 @@ describe CatalogHelper do
188
188
 
189
189
  it "should create an image tag from the given field" do
190
190
  helper.stub(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_field => :xyz) ))
191
- document = double()
192
-
191
+
193
192
  document.stub(:has?).with(:xyz).and_return(true)
194
193
  document.stub(:first).with(:xyz).and_return("http://example.com/some.jpg")
195
194
 
@@ -197,18 +196,32 @@ describe CatalogHelper do
197
196
  helper.render_thumbnail_tag document
198
197
  end
199
198
 
199
+ it "should not link to the document if the url options are false" do
200
+ helper.stub(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_method => :xyz) ))
201
+ helper.stub(:xyz => "some-thumbnail")
202
+
203
+ result = helper.render_thumbnail_tag document, {}, false
204
+ expect(result).to eq "some-thumbnail"
205
+ end
206
+
207
+ it "should not link to the document if the url options have :suppress_link" do
208
+ helper.stub(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_method => :xyz) ))
209
+ helper.stub(:xyz => "some-thumbnail")
210
+
211
+ result = helper.render_thumbnail_tag document, {}, suppress_link: true
212
+ expect(result).to eq "some-thumbnail"
213
+ end
214
+
215
+
200
216
  it "should return nil if no thumbnail is available" do
201
217
  helper.stub(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new() ))
202
-
203
- document = double()
204
218
  expect(helper.render_thumbnail_tag document).to be_nil
205
219
  end
206
220
 
207
221
  it "should return nil if no thumbnail is returned from the thumbnail method" do
208
222
  helper.stub(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_method => :xyz) ))
209
223
  helper.stub(:xyz => nil)
210
- document = double()
211
-
224
+
212
225
  expect(helper.render_thumbnail_tag document).to be_nil
213
226
  end
214
227
  end
@@ -58,4 +58,46 @@ describe BlacklightConfigurationHelper do
58
58
  expect(helper.spell_check_max).to eq config_value
59
59
  end
60
60
  end
61
+
62
+ describe "#index_field_label" do
63
+ let(:document) { double }
64
+ it "should look up the label to display for the given document and field" do
65
+ helper.stub(:index_fields).and_return({ "my_field" => double(label: "some label") })
66
+ helper.should_receive(:solr_field_label).with("some label", :"blacklight.search.fields.index.my_field", :"blacklight.search.fields.my_field")
67
+ helper.index_field_label document, "my_field"
68
+ end
69
+ end
70
+
71
+ describe "#document_show_field_label" do
72
+ let(:document) { double }
73
+ it "should look up the label to display for the given document and field" do
74
+ helper.stub(:document_show_fields).and_return({ "my_field" => double(label: "some label") })
75
+ helper.should_receive(:solr_field_label).with("some label", :"blacklight.search.fields.show.my_field", :"blacklight.search.fields.my_field")
76
+ helper.document_show_field_label document, "my_field"
77
+ end
78
+ end
79
+
80
+ describe "#facet_field_label" do
81
+ let(:document) { double }
82
+ it "should look up the label to display for the given document and field" do
83
+ blacklight_config.stub(:facet_fields).and_return({ "my_field" => double(label: "some label") })
84
+ helper.should_receive(:solr_field_label).with("some label", :"blacklight.search.fields.facet.my_field", :"blacklight.search.fields.my_field")
85
+ helper.facet_field_label "my_field"
86
+ end
87
+ end
88
+
89
+ describe "#solr_field_label" do
90
+ it "should look up the label as an i18n string" do
91
+ helper.should_receive(:t).with(:some_key).and_return "my label"
92
+ label = helper.solr_field_label :some_key
93
+
94
+ expect(label).to eq "my label"
95
+ end
96
+
97
+ it "should pass the provided i18n keys to I18n.t" do
98
+ helper.should_receive(:t).with(:key_a, default: [:key_b, "default text"])
99
+
100
+ label = helper.solr_field_label "default text", :key_a, :key_b
101
+ end
102
+ end
61
103
  end
@@ -299,9 +299,13 @@ describe FacetsHelper do
299
299
  helper.stub(:facet_configuration_for_field).with('simple_field').and_return(double(:query => nil, :date => nil, :helper_method => nil, :single => false))
300
300
  helper.should_receive(:facet_display_value).and_return('Z')
301
301
  helper.should_receive(:add_facet_params_and_redirect).and_return({controller:'catalog'})
302
+
303
+ helper.stub(:search_action_path) do |*args|
304
+ catalog_index_path *args
305
+ end
302
306
  end
303
307
  describe "simple case" do
304
- let(:expected_html) { "<span class=\"facet-label\"><a class=\"facet_select\" href=\"/\">Z</a></span><span class=\"facet-count\">10</span>" }
308
+ let(:expected_html) { "<span class=\"facet-label\"><a class=\"facet_select\" href=\"/catalog\">Z</a></span><span class=\"facet-count\">10</span>" }
305
309
  it "should use facet_display_value" do
306
310
  result = helper.render_facet_value('simple_field', item)
307
311
  expect(result).to be_equivalent_to(expected_html).respecting_element_order
@@ -315,17 +319,6 @@ describe FacetsHelper do
315
319
  expect(result).to be_equivalent_to(expected_html).respecting_element_order
316
320
  end
317
321
  end
318
-
319
- describe "when a route_set is passed" do
320
- let(:my_engine) { double("Engine") }
321
- let(:expected_html) { "<span class=\"facet-label\"><a class=\"facet_select\" href=\"/\">Z</a></span><span class=\"facet-count\">10</span>" }
322
-
323
- it "should use the engine scope" do
324
- expect(my_engine).to receive(:url_for).and_return({controller: 'catalog'})
325
- result = helper.render_facet_value('simple_field', item, route_set: my_engine)
326
- expect(result).to be_equivalent_to(expected_html).respecting_element_order
327
- end
328
- end
329
322
  end
330
323
 
331
324
  describe "#facet_display_value" do
@@ -5,6 +5,9 @@ describe RenderConstraintsHelper do
5
5
  before do
6
6
  # the helper methods below infer paths from the current route
7
7
  controller.request.path_parameters["controller"] = 'catalog'
8
+ helper.stub(:search_action_path) do |*args|
9
+ catalog_index_path *args
10
+ end
8
11
  end
9
12
 
10
13
  describe '#render_constraints_query' do
@@ -23,7 +26,7 @@ describe RenderConstraintsHelper do
23
26
  it "should have a link relative to the current url" do
24
27
  result = helper.render_filter_element('type', ['journal'], {:q=>'biz'})
25
28
  # I'm not certain how the ampersand gets in there. It's not important.
26
- expect(result).to have_selector "a[href='/?&q=biz']"
29
+ expect(result).to have_link "Remove constraint Type: journal", href: "/catalog?&q=biz"
27
30
  end
28
31
  end
29
32
 
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe BlacklightHelper do
3
+ describe BlacklightUrlHelper do
4
4
 
5
5
  let(:blacklight_config) do
6
6
  @config ||= Blacklight::Configuration.new.configure do |config|
@@ -10,15 +10,12 @@ describe BlacklightHelper do
10
10
  end
11
11
 
12
12
  before(:each) do
13
- helper.stub(:search_action_url) do |*args|
13
+ helper.stub(:search_action_path) do |*args|
14
14
  catalog_index_url *args
15
15
  end
16
16
 
17
- helper.stub(:blacklight_config).and_return blacklight_config
18
- end
19
-
20
- def current_search_session
21
-
17
+ helper.stub(blacklight_config: blacklight_config)
18
+ helper.stub(current_search_session: nil)
22
19
  end
23
20
 
24
21
  describe "link_back_to_catalog" do
@@ -61,96 +58,96 @@ describe BlacklightHelper do
61
58
  describe "link_to_query" do
62
59
  it "should build a link tag to catalog using query string (no other params)" do
63
60
  query = "brilliant"
64
- self.should_receive(:params).and_return({})
65
- tag = link_to_query(query)
61
+ helper.stub(params: {})
62
+ tag = helper.link_to_query(query)
66
63
  expect(tag).to match /q=#{query}/
67
64
  expect(tag).to match />#{query}<\/a>/
68
65
  end
69
66
  it "should build a link tag to catalog using query string and other existing params" do
70
67
  query = "wonderful"
71
- self.should_receive(:params).and_return({:qt => "title_search", :per_page => "50"})
72
- tag = link_to_query(query)
68
+ helper.stub(params: {:qt => "title_search", :per_page => "50"})
69
+ tag = helper.link_to_query(query)
73
70
  expect(tag).to match /qt=title_search/
74
71
  expect(tag).to match /per_page=50/
75
72
  end
76
73
  it "should ignore existing :page param" do
77
74
  query = "yes"
78
- self.should_receive(:params).and_return({:page => "2", :qt => "author_search"})
79
- tag = link_to_query(query)
75
+ helper.stub(params: {:page => "2", :qt => "author_search"})
76
+ tag = helper.link_to_query(query)
80
77
  expect(tag).to match /qt=author_search/
81
78
  expect(tag).to_not match /page/
82
79
  end
83
80
  it "should be html_safe" do
84
81
  query = "brilliant"
85
- self.should_receive(:params).and_return({:page => "2", :qt => "author_search"})
86
- tag = link_to_query(query)
82
+ helper.stub(params: {:page => "2", :qt => "author_search"})
83
+ tag = helper.link_to_query(query)
87
84
  expect(tag).to be_html_safe
88
85
  end
89
86
  end
90
87
 
91
88
  describe "sanitize_search_params" do
92
89
  it "should strip nil values" do
93
- result = sanitize_search_params(:a => nil, :b => 1)
90
+ result = helper.sanitize_search_params(:a => nil, :b => 1)
94
91
  expect(result).to_not have_key(:a)
95
92
  expect(result[:b]).to eq 1
96
93
  end
97
94
 
98
95
  it "should remove blacklisted keys" do
99
- result = sanitize_search_params(:action => true, :controller => true, :id => true, :commit => true, :utf8 => true)
96
+ result = helper.sanitize_search_params(:action => true, :controller => true, :id => true, :commit => true, :utf8 => true)
100
97
  expect(result).to be_empty
101
98
  end
102
99
  end
103
100
 
104
101
  describe "params_for_search" do
105
- def params
106
- { 'default' => 'params'}
102
+ before do
103
+ helper.stub(params: { 'default' => 'params'})
107
104
  end
108
105
 
109
106
  it "should default to using the controller's params" do
110
- result = params_for_search
111
- expect(result).to eq params
107
+ result = helper.params_for_search
108
+ expect(result).to eq({ 'default' => 'params' })
112
109
  expect(params.object_id).to_not eq result.object_id
113
110
  end
114
111
 
115
112
  it "should let you pass in params to merge into the controller's params" do
116
113
  source_params = { :q => 'query'}
117
- result = params_for_search( source_params )
114
+ result = helper.params_for_search( source_params )
118
115
  expect(result).to include(:q => 'query', 'default' => 'params')
119
116
  end
120
117
 
121
118
  it "should not return blacklisted elements" do
122
119
  source_params = { :action => 'action', :controller => 'controller', :id => "id", :commit => 'commit'}
123
- result = params_for_search(source_params)
120
+ result = helper.params_for_search(source_params)
124
121
  expect(result.keys).to_not include(:action, :controller, :commit, :id)
125
122
  end
126
123
 
127
124
  it "should adjust the current page if the per_page changes" do
128
125
  source_params = { :per_page => 20, :page => 5}
129
- result = params_for_search(source_params, :per_page => 100)
126
+ result = helper.params_for_search(source_params, :per_page => 100)
130
127
  expect(result[:page]).to eq 1
131
128
  end
132
129
 
133
130
  it "should not adjust the current page if the per_page is the same as it always was" do
134
131
  source_params = { :per_page => 20, :page => 5}
135
- result = params_for_search(source_params, :per_page => 20)
132
+ result = helper.params_for_search(source_params, :per_page => 20)
136
133
  expect(result[:page]).to eq 5
137
134
  end
138
135
 
139
136
  it "should adjust the current page if the sort changes" do
140
137
  source_params = { :sort => 'field_a', :page => 5}
141
- result = params_for_search(source_params, :sort => 'field_b')
138
+ result = helper.params_for_search(source_params, :sort => 'field_b')
142
139
  expect(result[:page]).to eq 1
143
140
  end
144
141
 
145
142
  it "should not adjust the current page if the sort is the same as it always was" do
146
143
  source_params = { :sort => 'field_a', :page => 5}
147
- result = params_for_search(source_params, :sort => 'field_a')
144
+ result = helper.params_for_search(source_params, :sort => 'field_a')
148
145
  expect(result[:page]).to eq 5
149
146
  end
150
147
 
151
148
  describe "params_for_search with a block" do
152
149
  it "should evalute the block and allow it to add or remove keys" do
153
- result = params_for_search({:a => 1, :b => 2}, :c => 3) do |params|
150
+ result = helper.params_for_search({:a => 1, :b => 2}, :c => 3) do |params|
154
151
  params.except! :a, :b
155
152
  params[:d] = 'd'
156
153
  end
@@ -183,53 +180,53 @@ describe BlacklightHelper do
183
180
  it "should consist of the document title wrapped in a <a>" do
184
181
  data = {'id'=>'123456','title_display'=>['654321'] }
185
182
  @document = SolrDocument.new(data)
186
- expect(link_to_document(@document, { :label => :title_display })).to have_selector("a", :text => '654321', :count => 1)
183
+ expect(helper.link_to_document(@document, { :label => :title_display })).to have_selector("a", :text => '654321', :count => 1)
187
184
  end
188
185
 
189
186
  it "should accept and return a string label" do
190
187
  data = {'id'=>'123456','title_display'=>['654321'] }
191
188
  @document = SolrDocument.new(data)
192
- expect(link_to_document(@document, { :label => "title_display" })).to have_selector("a", :text => 'title_display', :count => 1)
189
+ expect(helper.link_to_document(@document, { :label => "title_display" })).to have_selector("a", :text => 'title_display', :count => 1)
193
190
  end
194
191
 
195
192
  it "should accept and return a Proc" do
196
193
  data = {'id'=>'123456','title_display'=>['654321'] }
197
194
  @document = SolrDocument.new(data)
198
- expect(link_to_document(@document, { :label => Proc.new { |doc, opts| doc.get(:id) + ": " + doc.get(:title_display) } })).to have_selector("a", :text => '123456: 654321', :count => 1)
195
+ expect(helper.link_to_document(@document, { :label => Proc.new { |doc, opts| doc.get(:id) + ": " + doc.get(:title_display) } })).to have_selector("a", :text => '123456: 654321', :count => 1)
199
196
  end
200
197
 
201
198
  it "should return id when label is missing" do
202
199
  data = {'id'=>'123456'}
203
200
  @document = SolrDocument.new(data)
204
- expect(link_to_document(@document, { :label => :title_display })).to have_selector("a", :text => '123456', :count => 1)
201
+ expect(helper.link_to_document(@document, { :label => :title_display })).to have_selector("a", :text => '123456', :count => 1)
205
202
  end
206
203
 
207
204
  it "should be html safe" do
208
205
  data = {'id'=>'123456'}
209
206
  @document = SolrDocument.new(data)
210
- expect(link_to_document(@document, { :label => :title_display })).to be_html_safe
207
+ expect(helper.link_to_document(@document, { :label => :title_display })).to be_html_safe
211
208
  end
212
209
 
213
210
  it "should convert the counter parameter into a data- attribute" do
214
211
  data = {'id'=>'123456','title_display'=>['654321']}
215
212
  @document = SolrDocument.new(data)
216
- expect(link_to_document(@document, { :label => :title_display, :counter => 5 })).to match /data-counter="5"/
213
+ expect(helper.link_to_document(@document, { :label => :title_display, :counter => 5 })).to match /data-counter="5"/
217
214
  end
218
215
 
219
216
  it "passes on the title attribute to the link_to_with_data method" do
220
217
  @document = SolrDocument.new('id'=>'123456')
221
- expect(link_to_document(@document,:label=>"Some crazy long label...",:title=>"Some crazy longer label")).to match(/title=\"Some crazy longer label\"/)
218
+ expect(helper.link_to_document(@document,:label=>"Some crazy long label...",:title=>"Some crazy longer label")).to match(/title=\"Some crazy longer label\"/)
222
219
  end
223
220
 
224
221
  it "doesn't add an erroneous title attribute if one isn't provided" do
225
222
  @document = SolrDocument.new('id'=>'123456')
226
- expect(link_to_document(@document,:label=>"Some crazy long label...")).to_not match(/title=/)
223
+ expect(helper.link_to_document(@document,:label=>"Some crazy long label...")).to_not match(/title=/)
227
224
  end
228
225
 
229
226
  it "should work with integer ids" do
230
227
  data = {'id'=> 123456 }
231
228
  @document = SolrDocument.new(data)
232
- expect(link_to_document(@document)).to have_selector("a")
229
+ expect(helper.link_to_document(@document)).to have_selector("a")
233
230
  end
234
231
 
235
232
  end
@@ -238,7 +235,7 @@ describe BlacklightHelper do
238
235
  it "should link to the given search parameters" do
239
236
  params = {}
240
237
  helper.should_receive(:render_search_to_s).with(params).and_return "link text"
241
- expect(helper.link_to_previous_search({})).to eq helper.link_to("link text", catalog_index_path)
238
+ expect(helper.link_to_previous_search({})).to eq helper.link_to("link text", helper.search_action_path)
242
239
  end
243
240
  end
244
241
 
@@ -330,17 +327,12 @@ describe BlacklightHelper do
330
327
  :per_page => "50",
331
328
  :page => "5",
332
329
  :f => {"facet_field_1" => ["value1"], "facet_field_2" => ["value2", "value2a"]},
333
- Blacklight::Solr::FacetPaginator.request_keys[:offset] => "100",
330
+ Blacklight::Solr::FacetPaginator.request_keys[:page] => "100",
334
331
  Blacklight::Solr::FacetPaginator.request_keys[:sort] => "index",
335
332
  :id => 'facet_field_name'
336
333
  }
337
334
  helper.stub(:params).and_return(catalog_facet_params)
338
335
  end
339
- it "should redirect to 'index' action" do
340
- params = helper.add_facet_params_and_redirect("facet_field_2", "facet_value")
341
-
342
- expect(params[:action]).to eq "index"
343
- end
344
336
  it "should not include request parameters used by the facet paginator" do
345
337
  params = helper.add_facet_params_and_redirect("facet_field_2", "facet_value")
346
338
 
@@ -351,17 +343,13 @@ describe BlacklightHelper do
351
343
  end
352
344
  it 'should remove :page request key' do
353
345
  params = helper.add_facet_params_and_redirect("facet_field_2", "facet_value")
354
-
355
346
  expect(params.keys).to_not include(:page)
356
347
  end
357
348
  it "should otherwise do the same thing as add_facet_params" do
358
349
  added_facet_params = helper.add_facet_params("facet_field_2", "facet_value")
359
350
  added_facet_params_from_facet_action = helper.add_facet_params_and_redirect("facet_field_2", "facet_value")
360
351
 
361
- added_facet_params_from_facet_action.each_pair do |key, value|
362
- next if key == :action
363
- expect(value).to eq added_facet_params[key]
364
- end
352
+ expect(added_facet_params_from_facet_action).to eq added_facet_params.except(Blacklight::Solr::FacetPaginator.request_keys[:page], Blacklight::Solr::FacetPaginator.request_keys[:sort])
365
353
  end
366
354
  end
367
355
  end