Sha256: d0c4ba9a5f10736a92db845ecbbc13d960b798ac69562266fc7c7d1627d53c4c

Contents?: true

Size: 1.69 KB

Versions: 3

Compression:

Stored size: 1.69 KB

Contents

require 'spec_helper'

describe FedoraMigrate::RelsExtDatastreamMover do

  let(:file_id)  { "rb68xc11m" }
  let(:batch_id) { "rb68xc09k" }
  let(:source)   { FedoraMigrate.source.connection.find("sufia:#{file_id}") }
  let(:query)    { subject.target }

  context "with target objects present in Fedora 4" do
    before do
      ActiveFedora::Base.create(id: file_id)
      ActiveFedora::Base.create(id: batch_id)
    end

    describe "#initialize" do
      context "without a target" do
        subject { FedoraMigrate::RelsExtDatastreamMover.new(source).target }
        it { is_expected.to be_kind_of(ActiveFedora::Base) }
      end
      context "with a supplied target" do
        subject { FedoraMigrate::RelsExtDatastreamMover.new(source, "a target").target }
        it { is_expected.to eql "a target" }
      end
    end

    describe "#migrate" do
      context "with an existing target" do
        before  { FedoraMigrate::RelsExtDatastreamMover.new(source).migrate }
        subject { ActiveFedora::Base.find(file_id).ldp_source.graph.query([nil, ActiveFedora::RDF::Fcrepo::RelsExt.isPartOf, nil]) }
        it "migrates RDF relationships" do
          expect(subject.first.subject).to eq RDF::URI.new("http://localhost:8983/fedora/rest/test/#{file_id}")
          expect(subject.first.object).to eq RDF::URI.new("http://localhost:8983/fedora/rest/test/#{batch_id}")
        end
      end
    end
  end

  context "with a non-existent target" do
    let(:error_message) { "Target object was not found in Fedora 4. Did you migrate it?" }
    it "raises an error" do
      expect { FedoraMigrate::RelsExtDatastreamMover.new(source) }.to raise_error(FedoraMigrate::Errors::MigrationError, error_message)
    end
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
fedora-migrate-0.3.0 spec/unit/rels_ext_datastream_mover_spec.rb
fedora-migrate-0.2.0 spec/unit/rels_ext_datastream_mover_spec.rb
fedora-migrate-0.1.0 spec/unit/rels_ext_datastream_mover_spec.rb