Sha256: b261e026f71c3fdfbcafe360da9386499513fb6d2cc86fc5ee5c62bab4a9d3fe

Contents?: true

Size: 1.83 KB

Versions: 3

Compression:

Stored size: 1.83 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)  { { "mime_type_ssi" => ['image/tiff; gdal-format=GTiff'] } }
    subject { described_class.new(solr_document, ability) }

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

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

  describe "#external_metadata_file_formats_presenters" do
    let(:obj) { FactoryGirl.create(:raster_work_with_metadata_files) }
    let(:attributes) { obj.to_solr }
    subject { described_class.new(solr_document, ability) }

    it "returns external_metadata_file_formats_presenters" do
      expect(subject.external_metadata_file_formats_presenters.count).to eq 2
    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::AttributeRenderer).to receive(:new).and_return(attribute_renderer)
      allow(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

3 entries across 3 versions & 1 rubygems

Version Path
geo_concerns-0.0.3 spec/presenters/geo_concerns_show_presenter_spec.rb
geo_concerns-0.0.2 spec/presenters/geo_concerns_show_presenter_spec.rb
geo_concerns-0.0.1 spec/presenters/geo_concerns_show_presenter_spec.rb