Sha256: b2b43c0dac86ea3fb9aa89167f6c6f5a1c38fec1e0f2fdd930df5c7c026021ae

Contents?: true

Size: 1.65 KB

Versions: 17

Compression:

Stored size: 1.65 KB

Contents

require 'spec_helper'

describe CurationConcerns::CollectionPresenter do
  let(:collection) do
    build(:collection,
          id: 'adc12v',
          description: ['a nice collection'],
          title: ['A clever title'],
          keyword: ['neologism'],
          date_created: ['some date'])
  end
  let(:work) { build(:work, title: ['unimaginitive title']) }
  let(:solr_document) { SolrDocument.new(collection.to_solr) }
  let(:ability) { double }
  let(:presenter) { described_class.new(solr_document, ability) }

  # Mock bytes so collection does not have to be saved.
  before { allow(collection).to receive(:bytes).and_return(0) }

  describe '#to_s' do
    subject { presenter.to_s }
    it { is_expected.to eq 'A clever title' }
  end

  describe '#title' do
    subject { presenter.title }
    it { is_expected.to eq ['A clever title'] }
  end

  describe '#keyword' do
    subject { presenter.keyword }
    it { is_expected.to eq ['neologism'] }
  end

  describe '#to_key' do
    subject { presenter.to_key }
    it { is_expected.to eq ['adc12v'] }
  end

  describe "#size" do
    subject { presenter.size }
    it { is_expected.to eq '0 Bytes' }
  end

  describe "#total_items" do
    subject { presenter.total_items }
    context "empty collection" do
      it { is_expected.to eq 0 }
    end
    context "collection with work" do
      before { collection.members << work }
      it { is_expected.to eq 1 }
    end
    context "null members" do
      let(:presenter) { described_class.new({}, nil) }
      it { is_expected.to eq 0 }
    end
  end

  describe "#date_created" do
    subject { presenter.date_created }
    it { is_expected.to eq 'some date' }
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
curation_concerns-1.7.8 spec/presenters/curation_concerns/collection_presenter_spec.rb
curation_concerns-1.7.7 spec/presenters/curation_concerns/collection_presenter_spec.rb
curation_concerns-2.0.0 spec/presenters/curation_concerns/collection_presenter_spec.rb
curation_concerns-2.0.0.rc2 spec/presenters/curation_concerns/collection_presenter_spec.rb
curation_concerns-1.7.6 spec/presenters/curation_concerns/collection_presenter_spec.rb
curation_concerns-1.7.5 spec/presenters/curation_concerns/collection_presenter_spec.rb
curation_concerns-1.7.4 spec/presenters/curation_concerns/collection_presenter_spec.rb
curation_concerns-1.7.3 spec/presenters/curation_concerns/collection_presenter_spec.rb
curation_concerns-1.7.2 spec/presenters/curation_concerns/collection_presenter_spec.rb
curation_concerns-2.0.0.rc1 spec/presenters/curation_concerns/collection_presenter_spec.rb
curation_concerns-1.7.1 spec/presenters/curation_concerns/collection_presenter_spec.rb
curation_concerns-1.7.0 spec/presenters/curation_concerns/collection_presenter_spec.rb
curation_concerns-1.7.0.beta1 spec/presenters/curation_concerns/collection_presenter_spec.rb
curation_concerns-1.6.3 spec/presenters/curation_concerns/collection_presenter_spec.rb
curation_concerns-1.6.2 spec/presenters/curation_concerns/collection_presenter_spec.rb
curation_concerns-1.6.1 spec/presenters/curation_concerns/collection_presenter_spec.rb
curation_concerns-1.6.0 spec/presenters/curation_concerns/collection_presenter_spec.rb