Sha256: ace6b354c647b8f1402fea92442ffe0a46965a9d2ddcc9d677ff298ab2eb1cef

Contents?: true

Size: 1.4 KB

Versions: 20

Compression:

Stored size: 1.4 KB

Contents

require 'spec_helper'

describe CurationConcerns::WorkBehavior do
  before do
    class EssentialWork < ActiveFedora::Base
      include CurationConcerns::WorkBehavior
    end
  end
  after do
    Object.send(:remove_const, :EssentialWork)
  end

  subject { EssentialWork.new }

  it 'mixes together all the goodness' do
    [::CurationConcerns::WithFileSets, ::CurationConcerns::HumanReadableType, CurationConcerns::Noid, CurationConcerns::Serializers, Hydra::WithDepositor, Hydra::AccessControls::Embargoable, Solrizer::Common].each do |mixin|
      expect(subject.class.ancestors).to include(mixin)
    end
  end
  describe '#to_s' do
    it 'uses the provided titles' do
      subject.title = %w(Hello World)
      expect(subject.to_s).to eq('Hello | World')
    end
  end

  describe 'human_readable_type' do
    it 'has a default' do
      expect(subject.human_readable_type).to eq 'Essential Work'
    end
    it 'is settable' do
      EssentialWork.human_readable_type = 'Custom Type'
      expect(subject.human_readable_type).to eq 'Custom Type'
    end
  end

  it 'inherits (and extends) to_solr behaviors from superclass' do
    expect(subject.to_solr.keys).to include(:id)
    expect(subject.to_solr.keys).to include('has_model_ssim')
  end

  describe 'indexer' do
    let(:klass) { Class.new }
    it 'is settable' do
      EssentialWork.indexer = klass
      expect(subject.indexer).to eq klass
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
curation_concerns-1.3.3 spec/models/curation_concerns/work_behavior_spec.rb
curation_concerns-1.3.2 spec/models/curation_concerns/work_behavior_spec.rb
curation_concerns-1.3.1 spec/models/curation_concerns/work_behavior_spec.rb
curation_concerns-1.3.0 spec/models/curation_concerns/work_behavior_spec.rb
curation_concerns-1.2.0 spec/models/curation_concerns/work_behavior_spec.rb
curation_concerns-1.1.2 spec/models/curation_concerns/work_behavior_spec.rb
curation_concerns-1.1.1 spec/models/curation_concerns/work_behavior_spec.rb
curation_concerns-1.1.0 spec/models/curation_concerns/work_behavior_spec.rb
curation_concerns-1.0.0 spec/models/curation_concerns/work_behavior_spec.rb
curation_concerns-1.0.0.beta10 spec/models/curation_concerns/work_behavior_spec.rb
curation_concerns-1.0.0.beta9 spec/models/curation_concerns/work_behavior_spec.rb
curation_concerns-1.0.0.beta8 spec/models/curation_concerns/work_behavior_spec.rb
curation_concerns-1.0.0.beta7 spec/models/curation_concerns/work_behavior_spec.rb
curation_concerns-1.0.0.beta6 spec/models/curation_concerns/work_behavior_spec.rb
curation_concerns-1.0.0.beta5 spec/models/curation_concerns/work_behavior_spec.rb
curation_concerns-1.0.0.beta4 spec/models/curation_concerns/work_behavior_spec.rb
curation_concerns-1.0.0.beta3 spec/models/curation_concerns/work_behavior_spec.rb
curation_concerns-1.0.0.beta2 spec/models/curation_concerns/work_behavior_spec.rb
curation_concerns-1.0.0.beta1 spec/models/curation_concerns/work_behavior_spec.rb
curation_concerns-0.14.0 spec/models/curation_concerns/work_behavior_spec.rb