Sha256: db1890f976139fc533c8071d5aeaf7858224b13d25787c60bf45a6082a2e2077

Contents?: true

Size: 1.13 KB

Versions: 39

Compression:

Stored size: 1.13 KB

Contents

require 'spec_helper'

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

  let(:value) { build(:source_resource, creator: agents) }

  let(:agents) do
    [ build(:agent),
      agent_with_uri,
      'moomin',
      ActiveTriples::Resource.new('http://example.org'),
      Date.today ]
  end

  let(:agent_with_uri) do
    agent = build(:agent)
    agent.set_subject! 'http://example.org/moomin'
    agent
  end

  context 'with duplicate values' do
    before { agents << build(:agent) }

    it 'returns original node' do
      expect(subject.enrich_value(value).rdf_subject).to eq value.rdf_subject
    end

    it 'removes duplicate nodes' do
      expect(subject.enrich_value(value).creator)
        .to contain_exactly(*agents[0..-2])
    end

    it 'ignores other nodes' do
      expect(subject.enrich_value(value).contributor)
        .to contain_exactly(*value.contributor)
    end
  end

  it 'returns an isomorphic graph' do
    expect(subject.enrich_value(value)).to be_isomorphic_with value
  end

  it 'leaves literal values unaltered' do
    expect(subject.enrich_value('moomin')).to eq 'moomin'
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

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