blacklight-gallery 2.0.2 → 3.0.3

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/.github/workflows/ruby.yml +45 -0
  3. data/README.md +1 -1
  4. data/app/assets/javascripts/blacklight_gallery/default.js +0 -1
  5. data/app/assets/javascripts/blacklight_gallery/masonry.js +1 -1
  6. data/app/assets/javascripts/blacklight_gallery/osd_viewer.js +1 -1
  7. data/app/assets/javascripts/blacklight_gallery/slideshow.js +1 -2
  8. data/app/assets/stylesheets/blacklight_gallery/_gallery.scss +8 -18
  9. data/app/assets/stylesheets/blacklight_gallery/_masonry.scss +60 -22
  10. data/app/assets/stylesheets/blacklight_gallery/_slideshow.scss +5 -3
  11. data/app/components/blacklight/gallery/document_component.html.erb +21 -0
  12. data/app/components/blacklight/gallery/document_component.rb +11 -0
  13. data/app/components/blacklight/gallery/slideshow_component.html.erb +12 -0
  14. data/app/components/blacklight/gallery/slideshow_component.rb +40 -0
  15. data/app/components/blacklight/gallery/slideshow_preview_component.html.erb +5 -0
  16. data/app/components/blacklight/gallery/slideshow_preview_component.rb +28 -0
  17. data/app/helpers/blacklight/gallery_helper.rb +0 -38
  18. data/app/models/concerns/blacklight/gallery/openseadragon_solr_document.rb +1 -1
  19. data/app/views/catalog/_document_gallery.html.erb +4 -3
  20. data/app/views/catalog/_document_masonry.html.erb +2 -3
  21. data/app/views/catalog/_document_slideshow.html.erb +26 -5
  22. data/app/views/catalog/_slideshow_modal.html.erb +2 -3
  23. data/blacklight-gallery.gemspec +4 -4
  24. data/lib/blacklight/gallery/engine.rb +0 -1
  25. data/lib/blacklight/gallery/version.rb +1 -1
  26. data/lib/generators/blacklight_gallery/install_generator.rb +10 -3
  27. data/lib/generators/blacklight_gallery/templates/blacklight_gallery.js +2 -1
  28. data/spec/components/blacklight/gallery/document_component_spec.rb +46 -0
  29. data/spec/components/blacklight/gallery/slideshow_component_spec.rb +67 -0
  30. data/spec/features/gallery_spec.rb +3 -4
  31. data/spec/features/masonry_spec.rb +2 -3
  32. data/spec/features/slideshow_spec.rb +0 -2
  33. data/spec/fixtures/sample_solr_documents.yml +2495 -0
  34. data/spec/models/concerns/openseadragon_solr_document_spec.rb +1 -1
  35. data/spec/spec_helper.rb +4 -11
  36. data/spec/views/catalog/_document_slideshow.html.erb_spec.rb +15 -5
  37. metadata +45 -39
  38. data/.travis.yml +0 -21
  39. data/app/views/catalog/_grid_slideshow.html.erb +0 -11
  40. data/app/views/catalog/_index_gallery.html.erb +0 -14
  41. data/app/views/catalog/_index_masonry.html.erb +0 -8
  42. data/app/views/catalog/_index_masonry_default.html.erb +0 -1
  43. data/app/views/catalog/_index_slideshow.html.erb +0 -11
  44. data/app/views/catalog/_slideshow.html.erb +0 -23
  45. data/spec/helpers/blacklight/gallery_helper_spec.rb +0 -110
  46. data/spec/views/catalog/_index_gallery.html.erb_spec.rb +0 -22
  47. data/spec/views/catalog/_index_masonry.html.erb_spec.rb +0 -34
@@ -13,7 +13,7 @@ describe Blacklight::Gallery::OpenseadragonSolrDocument do
13
13
 
14
14
  context 'when not configured for the view' do
15
15
  let(:fields) { { some_field: 'data' } }
16
- let(:view_config) { double('ViewConfig') }
16
+ let(:view_config) { double('ViewConfig', tile_source_field: nil) }
17
17
  it 'returns nil' do
18
18
  expect(subject).to be_nil
19
19
  end
data/spec/spec_helper.rb CHANGED
@@ -9,19 +9,11 @@ require 'rspec/rails'
9
9
  require 'rspec/active_model/mocks'
10
10
 
11
11
  require 'selenium-webdriver'
12
- require 'chromedriver-helper'
12
+ require 'webdrivers'
13
13
 
14
- Capybara.javascript_driver = :headless_chrome
15
14
 
16
- Capybara.register_driver :headless_chrome do |app|
17
- capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
18
- chromeOptions: { args: %w[headless disable-gpu no-sandbox] }
19
- )
20
-
21
- Capybara::Selenium::Driver.new(app,
22
- browser: :chrome,
23
- desired_capabilities: capabilities)
24
- end
15
+ Capybara.javascript_driver = :selenium_chrome_headless
16
+ Capybara.disable_animation = true
25
17
 
26
18
  require 'blacklight'
27
19
  require 'blacklight/gallery'
@@ -29,5 +21,6 @@ require 'blacklight/gallery'
29
21
  RSpec.configure do |c|
30
22
  c.infer_spec_type_from_file_location!
31
23
  c.full_backtrace = true
24
+ c.include ViewComponent::TestHelpers, type: :component
32
25
  #onfig.assets.precompile += %w(spotlight/default_thumbnail.jpg spotlight/default_browse_thumbnail.jpg)
33
26
  end
@@ -1,17 +1,27 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe "catalog/_document_slideshow.html.erb", :type => :view do
4
- let(:blacklight_config) { Blacklight::Configuration.new }
4
+ let(:blacklight_config) do
5
+ Blacklight::Configuration.new do |config|
6
+ config.track_search_session = false
7
+ end
8
+ end
5
9
 
6
10
  let(:document) { stub_model(::SolrDocument) }
7
11
 
8
12
  before do
9
- allow(view).to receive_messages(blacklight_config: blacklight_config)
10
- allow(view).to receive_messages(documents: [document])
11
- allow(view).to receive(:blacklight_configuration_context).and_return(double(evaluate_if_unless_configuration: true))
13
+ allow(view).to receive_messages(
14
+ blacklight_config: blacklight_config,
15
+ documents: [document],
16
+ document_index_view_type: 'slideshow',
17
+ document_counter_with_offset: 1
18
+ )
19
+ allow(view).to receive(:current_search_session).and_return(nil)
20
+ allow(view).to receive(:search_session).and_return({})
21
+ allow(view).to receive(:search_state).and_return(Blacklight::SearchState.new({}, blacklight_config))
12
22
  end
13
23
 
14
- it "should have a edit tag form" do
24
+ it 'has a modal' do
15
25
  render
16
26
  expect(rendered).to have_selector '#slideshow-modal'
17
27
  expect(rendered).to have_selector '[data-slide="prev"]'
metadata CHANGED
@@ -1,43 +1,49 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blacklight-gallery
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 3.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Beer
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-21 00:00:00.000000000 Z
11
+ date: 2021-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '5.1'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '7'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: '5.1'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '7'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: blacklight
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
37
  - - "~>"
32
38
  - !ruby/object:Gem::Version
33
- version: '7.7'
39
+ version: '7.12'
34
40
  type: :runtime
35
41
  prerelease: false
36
42
  version_requirements: !ruby/object:Gem::Requirement
37
43
  requirements:
38
44
  - - "~>"
39
45
  - !ruby/object:Gem::Version
40
- version: '7.7'
46
+ version: '7.12'
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: bootstrap
43
49
  requirement: !ruby/object:Gem::Requirement
@@ -52,20 +58,6 @@ dependencies:
52
58
  - - "~>"
53
59
  - !ruby/object:Gem::Version
54
60
  version: '4.0'
55
- - !ruby/object:Gem::Dependency
56
- name: openseadragon
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: 0.2.0
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: 0.2.0
69
61
  - !ruby/object:Gem::Dependency
70
62
  name: rake
71
63
  requirement: !ruby/object:Gem::Requirement
@@ -193,7 +185,21 @@ dependencies:
193
185
  - !ruby/object:Gem::Version
194
186
  version: '0'
195
187
  - !ruby/object:Gem::Dependency
196
- name: chromedriver-helper
188
+ name: webdrivers
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - ">="
192
+ - !ruby/object:Gem::Version
193
+ version: '0'
194
+ type: :development
195
+ prerelease: false
196
+ version_requirements: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - ">="
199
+ - !ruby/object:Gem::Version
200
+ version: '0'
201
+ - !ruby/object:Gem::Dependency
202
+ name: rexml
197
203
  requirement: !ruby/object:Gem::Requirement
198
204
  requirements:
199
205
  - - ">="
@@ -220,16 +226,16 @@ dependencies:
220
226
  - - ">="
221
227
  - !ruby/object:Gem::Version
222
228
  version: 3.13.1
223
- description:
229
+ description:
224
230
  email:
225
231
  - cabeer@stanford.edu
226
232
  executables: []
227
233
  extensions: []
228
234
  extra_rdoc_files: []
229
235
  files:
236
+ - ".github/workflows/ruby.yml"
230
237
  - ".gitignore"
231
238
  - ".solr_wrapper.yml"
232
- - ".travis.yml"
233
239
  - Gemfile
234
240
  - LICENSE.txt
235
241
  - README.md
@@ -254,19 +260,19 @@ files:
254
260
  - app/assets/stylesheets/blacklight_gallery/_osd_viewer.scss
255
261
  - app/assets/stylesheets/blacklight_gallery/_slideshow.scss
256
262
  - app/assets/stylesheets/blacklight_gallery/default.scss
263
+ - app/components/blacklight/gallery/document_component.html.erb
264
+ - app/components/blacklight/gallery/document_component.rb
265
+ - app/components/blacklight/gallery/slideshow_component.html.erb
266
+ - app/components/blacklight/gallery/slideshow_component.rb
267
+ - app/components/blacklight/gallery/slideshow_preview_component.html.erb
268
+ - app/components/blacklight/gallery/slideshow_preview_component.rb
257
269
  - app/helpers/blacklight/gallery_helper.rb
258
270
  - app/helpers/blacklight/openseadragon_helper.rb
259
271
  - app/models/concerns/blacklight/gallery/openseadragon_solr_document.rb
260
272
  - app/views/catalog/_document_gallery.html.erb
261
273
  - app/views/catalog/_document_masonry.html.erb
262
274
  - app/views/catalog/_document_slideshow.html.erb
263
- - app/views/catalog/_grid_slideshow.html.erb
264
- - app/views/catalog/_index_gallery.html.erb
265
- - app/views/catalog/_index_masonry.html.erb
266
- - app/views/catalog/_index_masonry_default.html.erb
267
- - app/views/catalog/_index_slideshow.html.erb
268
275
  - app/views/catalog/_openseadragon_default.html.erb
269
- - app/views/catalog/_slideshow.html.erb
270
276
  - app/views/catalog/_slideshow_modal.html.erb
271
277
  - blacklight-gallery.gemspec
272
278
  - config/locales/blacklight-gallery.ar.yml
@@ -299,17 +305,17 @@ files:
299
305
  - solr/conf/xslt/example_atom.xsl
300
306
  - solr/conf/xslt/example_rss.xsl
301
307
  - solr/conf/xslt/luke.xsl
308
+ - spec/components/blacklight/gallery/document_component_spec.rb
309
+ - spec/components/blacklight/gallery/slideshow_component_spec.rb
302
310
  - spec/features/gallery_spec.rb
303
311
  - spec/features/masonry_spec.rb
304
312
  - spec/features/slideshow_spec.rb
305
- - spec/helpers/blacklight/gallery_helper_spec.rb
313
+ - spec/fixtures/sample_solr_documents.yml
306
314
  - spec/models/concerns/openseadragon_solr_document_spec.rb
307
315
  - spec/spec_helper.rb
308
316
  - spec/test_app_templates/Gemfile.extra
309
317
  - spec/test_app_templates/lib/generators/test_app_generator.rb
310
318
  - spec/views/catalog/_document_slideshow.html.erb_spec.rb
311
- - spec/views/catalog/_index_gallery.html.erb_spec.rb
312
- - spec/views/catalog/_index_masonry.html.erb_spec.rb
313
319
  - spec/views/catalog/_openseadragon_default.html.erb_spec.rb
314
320
  - vendor/assets/javascripts/imagesloaded.min.js
315
321
  - vendor/assets/javascripts/masonry.min.js
@@ -317,7 +323,7 @@ homepage: https://github.com/projectblacklight/blacklight-gallery
317
323
  licenses:
318
324
  - Apache 2.0
319
325
  metadata: {}
320
- post_install_message:
326
+ post_install_message:
321
327
  rdoc_options: []
322
328
  require_paths:
323
329
  - lib
@@ -332,20 +338,20 @@ required_rubygems_version: !ruby/object:Gem::Requirement
332
338
  - !ruby/object:Gem::Version
333
339
  version: '0'
334
340
  requirements: []
335
- rubygems_version: 3.1.2
336
- signing_key:
341
+ rubygems_version: 3.2.3
342
+ signing_key:
337
343
  specification_version: 4
338
344
  summary: Gallery display for Blacklight
339
345
  test_files:
346
+ - spec/components/blacklight/gallery/document_component_spec.rb
347
+ - spec/components/blacklight/gallery/slideshow_component_spec.rb
340
348
  - spec/features/gallery_spec.rb
341
349
  - spec/features/masonry_spec.rb
342
350
  - spec/features/slideshow_spec.rb
343
- - spec/helpers/blacklight/gallery_helper_spec.rb
351
+ - spec/fixtures/sample_solr_documents.yml
344
352
  - spec/models/concerns/openseadragon_solr_document_spec.rb
345
353
  - spec/spec_helper.rb
346
354
  - spec/test_app_templates/Gemfile.extra
347
355
  - spec/test_app_templates/lib/generators/test_app_generator.rb
348
356
  - spec/views/catalog/_document_slideshow.html.erb_spec.rb
349
- - spec/views/catalog/_index_gallery.html.erb_spec.rb
350
- - spec/views/catalog/_index_masonry.html.erb_spec.rb
351
357
  - spec/views/catalog/_openseadragon_default.html.erb_spec.rb
data/.travis.yml DELETED
@@ -1,21 +0,0 @@
1
- language: ruby
2
- sudo: false
3
-
4
- notifications:
5
- email: false
6
-
7
- rvm:
8
- - 2.5.3
9
- - 2.6.0
10
-
11
- notifications:
12
- irc: "irc.freenode.org#blacklight"
13
- email:
14
- - blacklight-commits@googlegroups.com
15
-
16
- env:
17
- global:
18
- - NOKOGIRI_USE_SYSTEM_LIBRARIES=true
19
- - RAILS_VERSION='5.2.3'
20
-
21
- jdk: openjdk11
@@ -1,11 +0,0 @@
1
- <div class="document">
2
- <div class="thumbnail">
3
- <%= link_to '#', data: { :'slide-to' => document_counter, toggle: "modal", target: "#slideshow-modal" } do %>
4
- <% if thumbnail_url(document) %>
5
- <%= image_tag thumbnail_url(document), class: 'img-thumbnail', alt: index_presenter(document).heading %>
6
- <% else %>
7
- <%= t('.missing_image', scope: [:blacklight_gallery]) %>
8
- <% end %>
9
- <% end %>
10
- </div>
11
- </div>
@@ -1,14 +0,0 @@
1
- <div class="document col-6 col-md-4">
2
- <div class="thumbnail">
3
- <%= render_thumbnail_tag(
4
- document,
5
- { class: 'img-thumbnail', alt: '' },
6
- counter: document_counter_with_offset(document_counter),
7
- 'aria-hidden': true,
8
- tabindex: -1
9
- ) %>
10
- <div class="caption">
11
- <%= render_document_partials document, blacklight_config.view_config(:gallery).partials, :document_counter => document_counter %>
12
- </div>
13
- </div>
14
- </div>
@@ -1,8 +0,0 @@
1
- <div class="masonry document col-6 col-md-3">
2
- <div class="thumbnail">
3
- <%= render_thumbnail_tag(document, { class: 'img-thumbnail', alt: index_presenter(document).heading }, counter: document_counter_with_offset(document_counter)) %>
4
- <div class="caption">
5
- <%= render_document_partials document, blacklight_config.view_config(:masonry).partials, :document_counter => document_counter %>
6
- </div>
7
- </div>
8
- </div>
@@ -1 +0,0 @@
1
- <%= link_to_document(document, truncate(index_presenter(document).label(document_show_link_field(document)), length: 89)) %>
@@ -1,11 +0,0 @@
1
- <div class="item<%= ' active' if document_counter == 0 %>">
2
- <div class="frame">
3
- <%= render_slideshow_tag(document, { alt: '' }) %>
4
- <div class="caption">
5
- <%= index_presenter(document).label(document_show_link_field(document)) %>
6
- </div>
7
- <span class="counter">
8
- <%= t :'blacklight_gallery.catalog.modal_slideshow.counter', counter: document_counter + 1, count: count %>
9
- </span>
10
- </div>
11
- </div>
@@ -1,23 +0,0 @@
1
- <div id="slideshow" class="slideshow-presenter">
2
- <!-- Wrapper for slides -->
3
- <div class="slideshow-inner">
4
- <%= render collection: documents, as: :document, partial: 'index_slideshow', locals: {count: documents.count} %>
5
- </div>
6
-
7
- <!-- Controls -->
8
- <a class="left carousel-control prev" href="#slideshow" data-slide="prev">
9
- <%= blacklight_icon 'chevron_left', { additional_options: { label_context: 'previous_image' }} %>
10
- </a>
11
- <a class="right carousel-control next" href="#slideshow" data-slide="next">
12
- <%= blacklight_icon 'chevron_right', { additional_options: { label_context: 'next_image' }} %>
13
- </a>
14
-
15
- <div class="controls text-center">
16
- <button class="btn btn-sm btn-link" data-behavior="pause-slideshow" aria-label="<%= t('blacklight_gallery.catalog.slideshow.pause') %>">
17
- <%= blacklight_icon 'pause_slideshow' %>
18
- </button>
19
- <button class="btn btn-sm btn-link" data-behavior="start-slideshow" aria-label="<%= t('blacklight_gallery.catalog.slideshow.start') %>">
20
- <%= blacklight_icon 'start_slideshow' %>
21
- </button>
22
- </div>
23
- </div>
@@ -1,110 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Blacklight::GalleryHelper, :type => :helper do
4
- before do
5
- allow(helper).to receive(:blacklight_configuration_context).and_return(double(evaluate_if_unless_configuration: true))
6
- end
7
- describe "#render_gallery_collection" do
8
- let(:template) { double }
9
- before do
10
- allow(template).to receive(:render).and_return("hello ")
11
- allow(helper).to receive(:gallery_wrapper_template).and_return(template)
12
- end
13
- let(:documents) { [ double, double] }
14
- subject { helper.render_gallery_collection documents}
15
-
16
- it { is_expected.to eq 'hello hello ' }
17
- end
18
-
19
- describe "#gallery_wrapper_template" do
20
- before do
21
- allow(helper).to receive(:blacklight_config).and_return(CatalogController.blacklight_config)
22
- helper.lookup_context.prefixes << "catalog"
23
- end
24
-
25
- subject { helper.gallery_wrapper_template SolrDocument.new }
26
-
27
- it "should be the default template" do
28
- expect(subject.virtual_path).to eq 'catalog/_index_gallery'
29
- end
30
- end
31
-
32
- describe "render_slideshow_tag" do
33
- let(:document) { instance_double(SolrDocument) }
34
-
35
- it "calls the provided slideshow method" do
36
- allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new.tap { |config| config.index.slideshow_method = :xyz })
37
- expect(helper).to receive_messages(:xyz => "some-slideshow")
38
- expect(helper.render_slideshow_tag(document)).to eq 'some-slideshow'
39
- end
40
-
41
- it "creates an image tag from the given field" do
42
- allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new.tap { |config| config.index.slideshow_field = :xyz })
43
-
44
- allow(document).to receive(:has?).with(:xyz).and_return(true)
45
- allow(document).to receive(:first).with(:xyz).and_return("http://example.com/some.jpg")
46
- expect(helper.render_slideshow_tag(document)).to match /img/
47
- end
48
-
49
- it "does not link to the document if the url options are false" do
50
- allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new.tap { |config| config.index.slideshow_method = :xyz })
51
- allow(helper).to receive_messages(:xyz => "some-slideshow")
52
-
53
- result = helper.render_slideshow_tag document, {}, false
54
- expect(result).to eq "some-slideshow"
55
- end
56
-
57
- it "does not link to the document if the url options have :suppress_link" do
58
- allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new.tap { |config| config.index.slideshow_method = :xyz })
59
- allow(helper).to receive_messages(:xyz => "some-slideshow")
60
-
61
- result = helper.render_slideshow_tag document, {}, suppress_link: true
62
- expect(result).to eq "some-slideshow"
63
- end
64
-
65
-
66
- it "returns nil if no slideshow is available" do
67
- allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new)
68
- expect(helper.render_slideshow_tag document).to be_nil
69
- end
70
-
71
- it "returns nil if no slideshow is returned from the slideshow method" do
72
- allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new.tap { |config| config.index.slideshow_method = :xyz })
73
- allow(helper).to receive_messages(:xyz => nil)
74
-
75
- expect(helper.render_slideshow_tag document).to be_nil
76
- end
77
-
78
- it "returns nil if no slideshow is in the document" do
79
- allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new.tap { |config| config.index.slideshow_field = :xyz })
80
-
81
- allow(document).to receive(:has?).with(:xyz).and_return(false)
82
-
83
- expect(helper.render_slideshow_tag document).to be_nil
84
- end
85
-
86
- it "falls back to a thumbnail" do
87
- allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new.tap { |config| config.index.thumbnail_method = :xyz })
88
- allow(helper).to receive(:xyz).and_return('thumbnail-image')
89
-
90
- expect(helper.render_slideshow_tag document).to eq 'thumbnail-image'
91
- end
92
- end
93
-
94
- describe "slideshow_url" do
95
- it "pulls the configured slideshow field out of the document" do
96
- allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new.tap { |config| config.index.slideshow_field = :xyz })
97
- document = instance_double(SolrDocument)
98
- allow(document).to receive(:has?).with(:xyz).and_return(true)
99
- allow(document).to receive(:first).with(:xyz).and_return("asdf")
100
- expect(helper.slideshow_image_url document).to eq("asdf")
101
- end
102
-
103
- it "returns nil if the slideshow field doesn't exist" do
104
- allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new.tap { |config| config.index.slideshow_field = :xyz })
105
- document = instance_double(SolrDocument)
106
- allow(document).to receive(:has?).with(:xyz).and_return(false)
107
- expect(helper.slideshow_image_url document).to be_nil
108
- end
109
- end
110
- end