Sha256: 6f8be746cdf0a4a4a1bd9d2b8bca90c68383cd3ab10a81ab110c9ee85b543460

Contents?: true

Size: 1.95 KB

Versions: 3

Compression:

Stored size: 1.95 KB

Contents

require 'spec_helper'

describe ActiveFedora::SolrDigitalObject do

  describe "repository" do
    subject { ActiveFedora::SolrDigitalObject.new({},{'datastreams'=>{}}) }
    describe "when not finished" do
      it "should not respond_to? :repository" do
        subject.should_not respond_to :repository
      end
    end
    describe "when finished" do
      before do
        subject.freeze
      end
      it "should respond_to? :repository" do
        subject.should respond_to :repository
      end
    end
  end

  describe "initializing" do
    describe "without a datastream in the ds spec and an xml mime type in the solr doc" do
      before do
        class WithoutMetadataDs < ActiveFedora::Base
          ## No datastreams are defined in this class
        end
      end
      after do
        Object.send(:remove_const, :WithoutMetadataDs)
      end
      subject { ActiveFedora::SolrDigitalObject.new({}, {'datastreams'=>{'properties'=>{'dsMIME'=>'text/xml'}}},WithoutMetadataDs) }
      it "should create an xml datastream" do
        subject.datastreams['properties'].should be_kind_of ActiveFedora::OmDatastream
      end
    end
    
    describe "with a ds spec that's not part of the solrized object" do
      before do
        class MissingMetadataDs < ActiveFedora::Base
          has_metadata :name => "foo", :type => ActiveFedora::OmDatastream, :label => 'Foo Data'
        end
        after do
          Object.send(:remove_const, MissingMetadataDs)
        end
        subject { ActiveFedora::SolrDigitalObject.new({}, {'datastreams'=>{'properties'=>{'dsMIME'=>'text/xml'}}},MissingMetadataDs) }
        it "should have a foo datastream" do
          subject.datastreams['foo'].label.should == 'Foo Data'
        end
      end
    end
  end


  describe "new_record?" do
    subject { ActiveFedora::SolrDigitalObject.new({},{'datastreams'=>{}}) }
    it "should respond to :new_record? and return false" do
      subject.new_record?.should be_false
    end
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
active-fedora-6.7.8 spec/unit/solr_digital_object_spec.rb
active-fedora-6.7.7 spec/unit/solr_digital_object_spec.rb
active-fedora-6.7.6 spec/unit/solr_digital_object_spec.rb