Sha256: fcdc48019c523f9bd834243ff7be983f204e384346b8cbefd608ad14ad8a6b32

Contents?: true

Size: 1.38 KB

Versions: 1

Compression:

Stored size: 1.38 KB

Contents

require_relative '../spec_helper'
require 'common_repository_model/data'

describe CommonRepositoryModel::Data do

  subject {
    CommonRepositoryModel::Data.new(
      slot_name: '1234',
      md5_checksum: 'abcdefg'
    )
  }

  describe 'integration' do
    let(:collection) { CommonRepositoryModel::Collection.new }
    let(:file_1) { File.new(__FILE__) }
    let(:file_2) {
      File.new(File.join(File.dirname(__FILE__), '../spec_helper.rb'))
    }

    it 'should have #slot_name' do
      subject.must_respond_to :slot_name
      subject.must_respond_to :slot_name=
    end

    it 'should have #md5_checksum' do
      subject.must_respond_to :md5_checksum
      subject.must_respond_to :md5_checksum=
    end

    it 'should have content versions' do
      subject.content = file_1
      subject.save
      subject.content.content.must_equal file_1.read
      subject.content = file_2
      subject.save
      subject.content.content.must_equal file_2.read
      subject.content.versions.count.must_equal 2
    end

    it 'should save' do
      # Before we can add a collection, the containing object
      # must be saved
      collection.save
      subject.collection = collection
      subject.save

      @subject = subject.class.find(subject.pid)

      assert_rels_ext(@subject, :is_part_of, [collection])
      assert_active_fedora_belongs_to(@subject, :collection, collection)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
common_repository_model-0.0.1 spec/common_respository_model/data_spec.rb