Sha256: 5670fdc28c87de34f5c0c71dbbacfb417332878a35e2773e03f663fc3a5b0c4a

Contents?: true

Size: 1.66 KB

Versions: 33

Compression:

Stored size: 1.66 KB

Contents

require 'spec_helper'

describe Krikri::Enrichments::CreatePrefLabelFromProvided do
  it_behaves_like 'a field enrichment'

  describe '#enrich_value' do
    let(:resource) { DPLA::MAP::Agent.new }

    it 'skips non-Resource' do
      date = Date.today
      expect(subject.enrich_value(date)).to eq date
    end

    it 'skips values that do not respond to providedLabel' do
      resource = ActiveTriples::Resource.new
      expect { subject.enrich_value(resource) }
        .not_to change { resource.get_values(RDF::SKOS.prefLabel) }.from([])
    end

    it 'skips values that have no providedLabel' do
      expect { subject.enrich_value(resource) }
        .not_to change { resource.label }.from([])
    end

    it 'skips values that aready have a prefLabel' do
      resource.providedLabel = 'moomin'
      resource.label = 'moomintroll'
      expect { subject.enrich_value(resource) }
        .not_to change { resource.label }
                 .from(a_collection_containing_exactly('moomintroll'))
    end

    it 'copies providedLabel to prefLabel' do
      resource.label = nil
      resource.providedLabel = 'moomintroll'
      subject.enrich_value(resource)
      expect(resource.label).to contain_exactly 'moomintroll'
      expect(resource.providedLabel).to contain_exactly 'moomintroll'
    end

    it 'copies first providedLabel to prefLabel' do
      resource.label = nil
      resource.providedLabel << 'moomintroll'
      resource.providedLabel << 'snorkmaiden'
      subject.enrich_value(resource)

      expect(resource.label).to contain_exactly 'moomintroll'
      expect(resource.providedLabel)
        .to contain_exactly('moomintroll', 'snorkmaiden')
    end
  end
end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
krikri-0.15.2 spec/lib/krikri/enrichments/create_pref_label_from_provided_spec.rb
krikri-0.15.1 spec/lib/krikri/enrichments/create_pref_label_from_provided_spec.rb
krikri-0.15.0 spec/lib/krikri/enrichments/create_pref_label_from_provided_spec.rb
krikri-0.14.0 spec/lib/krikri/enrichments/create_pref_label_from_provided_spec.rb
krikri-0.13.2 spec/lib/krikri/enrichments/create_pref_label_from_provided_spec.rb
krikri-0.13.1 spec/lib/krikri/enrichments/create_pref_label_from_provided_spec.rb
krikri-0.13.0 spec/lib/krikri/enrichments/create_pref_label_from_provided_spec.rb
krikri-0.12.4 spec/lib/krikri/enrichments/create_pref_label_from_provided_spec.rb
krikri-0.12.3 spec/lib/krikri/enrichments/create_pref_label_from_provided_spec.rb
krikri-0.12.1 spec/lib/krikri/enrichments/create_pref_label_from_provided_spec.rb
krikri-0.12.0 spec/lib/krikri/enrichments/create_pref_label_from_provided_spec.rb
krikri-0.12.0.pre.rc.1 spec/lib/krikri/enrichments/create_pref_label_from_provided_spec.rb
krikri-0.11.2 spec/lib/krikri/enrichments/create_pref_label_from_provided_spec.rb
krikri-0.11.1 spec/lib/krikri/enrichments/create_pref_label_from_provided_spec.rb
krikri-0.11.0 spec/lib/krikri/enrichments/create_pref_label_from_provided_spec.rb
krikri-0.10.1 spec/lib/krikri/enrichments/create_pref_label_from_provided_spec.rb
krikri-0.10.0 spec/lib/krikri/enrichments/create_pref_label_from_provided_spec.rb
krikri-0.9.0 spec/lib/krikri/enrichments/create_pref_label_from_provided_spec.rb
krikri-0.8.9 spec/lib/krikri/enrichments/create_pref_label_from_provided_spec.rb
krikri-0.8.8 spec/lib/krikri/enrichments/create_pref_label_from_provided_spec.rb