Sha256: ee335ed2d11c20f3f9de846bc0dd69c92037a8771fce1b15abe2fa03db29aabd

Contents?: true

Size: 1.69 KB

Versions: 17

Compression:

Stored size: 1.69 KB

Contents

require 'spec_helper'

describe Geoblacklight::ItemViewer do
  let(:document) { SolrDocument.new(document_attributes) }
  let(:document_attributes) { {} }
  let(:references) { document.references }
  let(:references_field) { Settings.FIELDS.REFERENCES }
  let(:item_viewer) { described_class.new(references) }
  describe 'viewer_preference' do
    describe 'for no references' do
      it 'returns nil' do
        expect(item_viewer.viewer_preference).to be_nil
      end
    end
    describe 'for wms reference' do
      let(:document_attributes) do
        {
          references_field => {
            'http://www.opengis.net/def/serviceType/ogc/wms' => 'http://www.example.com/wms',
            'http://iiif.io/api/image' => 'http://www.example.com/iiif'
          }.to_json
        }
      end
      it 'wms if wms is present' do
        expect(item_viewer.viewer_preference).to eq wms: 'http://www.example.com/wms'
      end
    end
    describe 'for iiif only reference' do
      let(:document_attributes) do
        {
          references_field => {
            'http://iiif.io/api/image' => 'http://www.example.com/iiif'
          }.to_json
        }
      end
      it 'returns iiif' do
        expect(item_viewer.viewer_preference).to eq iiif: 'http://www.example.com/iiif'
      end
    end
    describe 'for tiled map layer reference' do
      let(:document_attributes) do
        {
          references_field => {
            'urn:x-esri:serviceType:ArcGIS#TiledMapLayer' => 'http://www.example.com/MapServer'
          }.to_json
        }
      end
      it 'returns mapservice' do
        expect(item_viewer.viewer_preference).to eq tiled_map_layer: 'http://www.example.com/MapServer'
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
geoblacklight-1.7.1 spec/lib/geoblacklight/item_viewer_spec.rb
geoblacklight-1.7.0 spec/lib/geoblacklight/item_viewer_spec.rb
geoblacklight-1.6.0 spec/lib/geoblacklight/item_viewer_spec.rb
geoblacklight-1.5.1 spec/lib/geoblacklight/item_viewer_spec.rb
geoblacklight-1.5.0 spec/lib/geoblacklight/item_viewer_spec.rb
geoblacklight-1.4.0 spec/lib/geoblacklight/item_viewer_spec.rb
geoblacklight-1.3.0 spec/lib/geoblacklight/item_viewer_spec.rb
geoblacklight-1.2.0 spec/lib/geoblacklight/item_viewer_spec.rb
geoblacklight-1.1.2 spec/lib/geoblacklight/item_viewer_spec.rb
geoblacklight-1.1.0 spec/lib/geoblacklight/item_viewer_spec.rb
geoblacklight-1.0.3 spec/lib/geoblacklight/item_viewer_spec.rb
geoblacklight-1.0.2 spec/lib/geoblacklight/item_viewer_spec.rb
geoblacklight-1.0.1 spec/lib/geoblacklight/item_viewer_spec.rb
geoblacklight-1.0.0 spec/lib/geoblacklight/item_viewer_spec.rb
geoblacklight-1.0.0.pre3 spec/lib/geoblacklight/item_viewer_spec.rb
geoblacklight-1.0.0.pre2 spec/lib/geoblacklight/item_viewer_spec.rb
geoblacklight-1.0.0.pre1 spec/lib/geoblacklight/item_viewer_spec.rb