Sha256: b83522b668bb0d79b785d03131f115e8ef391ca48caf39f6cf71779b4107abaa

Contents?: true

Size: 1.39 KB

Versions: 1

Compression:

Stored size: 1.39 KB

Contents

require 'spec_helper'

describe "Versions" do

  let(:source) { FedoraMigrate.source.connection.find("sufia:rb68xc089") }
  let(:mover)  { FedoraMigrate::ObjectMover.new source, ExampleModel::MigrationObject.new }

  subject do
    mover.migrate
    mover.target
  end

  # Query the metadata node for a given version and return its hasDateCreatedByApplication expressed as an integer
  def date_created_by_application version
    uri = subject.content.versions.with_label(version).uri
    response = ActiveFedora.fedora.connection.get(uri+"/fcr:metadata")
    graph = ::RDF::Graph.new << ::RDF::Reader.for(:ttl).new(response.body)
    value = graph.query(predicate: RDF::URI("http://www.loc.gov/premis/rdf/v1#hasDateCreatedByApplication")).first.object.to_s
    DateTime.iso8601(value).to_i
  end

  def desc_metadata_source_versions
    source.datastreams["descMetadata"].versions.sort { |a,b| a.createDate <=> b.createDate }
  end

  it "should be migrated in the order they were created with their original creation dates" do
    pending "Requires fix to Fedora 4.4; awaiting release"
    expect(desc_metadata_source_versions[0].createDate.to_i).to eql date_created_by_application("version1")
    expect(desc_metadata_source_versions[1].createDate.to_i).to eql date_created_by_application("version2")
    expect(desc_metadata_source_versions[2].createDate.to_i).to eql date_created_by_application("version3")
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fedora-migrate-0.3.0 spec/integration/versions_spec.rb