Sha256: d4980a82fee8ae4086d4d0a7d71f5ef4ea9896a67465ad62d019ab5044301ef0

Contents?: true

Size: 1.5 KB

Versions: 15

Compression:

Stored size: 1.5 KB

Contents

require 'spec_helper'

RSpec.describe ::GeoConcerns::GeoConcernsShowPresenter do
  let(:solr_document) { SolrDocument.new(attributes) }
  let(:ability) { nil }

  describe "delegated methods" do
    let(:attributes)  { { "geo_mime_type_tesim" => ['image/tiff; gdal-format=GTiff'] } }
    subject { described_class.new(solr_document, ability) }

    describe "#first" do
      it "delegates to solr document" do
        expect(subject.first('geo_mime_type_tesim')).to eq('image/tiff; gdal-format=GTiff')
      end
    end

    describe "#has?" do
      it "delegates to solr document" do
        expect(subject.has?('geo_mime_type_tesim')).to be_truthy
      end
    end
  end

  describe "#attribute_to_html" do
    let(:attributes) { FactoryGirl.create(:raster_work).to_solr }
    let(:attribute_renderer) { double('attribute_renderer') }
    let(:coverage_renderer) { double('coverage_renderer') }

    subject { described_class.new(solr_document, ability) }

    before do
      allow(CurationConcerns::Renderers::AttributeRenderer).to receive(:new).and_return(attribute_renderer)
      allow(GeoConcerns::CoverageRenderer).to receive(:new).and_return(coverage_renderer)
    end

    it "uses a CoverageRenderer when the field is coverage" do
      expect(coverage_renderer).to receive(:render)
      subject.attribute_to_html(:coverage)
    end

    it "uses an AttributeRenderer when the field is not coverage" do
      expect(attribute_renderer).to receive(:render)
      subject.attribute_to_html(:language)
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
geo_concerns-0.3.4 spec/presenters/geo_concerns_show_presenter_spec.rb
geo_concerns-0.3.3 spec/presenters/geo_concerns_show_presenter_spec.rb
geo_concerns-0.3.2 spec/presenters/geo_concerns_show_presenter_spec.rb
geo_concerns-0.3.1 spec/presenters/geo_concerns_show_presenter_spec.rb
geo_concerns-0.3.0 spec/presenters/geo_concerns_show_presenter_spec.rb
geo_concerns-0.2.0 spec/presenters/geo_concerns_show_presenter_spec.rb
geo_concerns-0.1.1 spec/presenters/geo_concerns_show_presenter_spec.rb
geo_concerns-0.1.0 spec/presenters/geo_concerns_show_presenter_spec.rb
geo_concerns-0.0.10 spec/presenters/geo_concerns_show_presenter_spec.rb
geo_concerns-0.0.9 spec/presenters/geo_concerns_show_presenter_spec.rb
geo_concerns-0.0.8 spec/presenters/geo_concerns_show_presenter_spec.rb
geo_concerns-0.0.7 spec/presenters/geo_concerns_show_presenter_spec.rb
geo_concerns-0.0.6 spec/presenters/geo_concerns_show_presenter_spec.rb
geo_concerns-0.0.5 spec/presenters/geo_concerns_show_presenter_spec.rb
geo_concerns-0.0.4 spec/presenters/geo_concerns_show_presenter_spec.rb