Sha256: 5d058d7c00f67333b8269a8bc21c82396d32a90d8e2252a01f9965f2ac38823e

Contents?: true

Size: 1.1 KB

Versions: 8

Compression:

Stored size: 1.1 KB

Contents

require 'spec_helper'

describe ActiveFedora::Base do
  before(:each) do
    class Foo < ActiveFedora::Base
      has_metadata :type=>ActiveFedora::SimpleDatastream, :name=>"foostream" do|m|
        m.field "foostream", :string
      end
      has_metadata :type=>ActiveFedora::QualifiedDublinCoreDatastream, :name=>"dcstream" 
    end
    class Bar  < ActiveFedora::Base
      has_metadata :type=>ActiveFedora::SimpleDatastream, :name=>"barstream" do |m|
        m.field "barfield", :string
      end
    end
  end

  it "doesn't overwrite stream specs" do
    f = Foo.new
    expect(f.datastreams.size).to eq(3)
    streams = f.datastreams.values.map{|x| x.class.to_s}.sort
    expect(streams.pop).to eq("ActiveFedora::SimpleDatastream")
    expect(streams.pop).to eq("ActiveFedora::RelsExtDatastream")
    expect(streams.pop).to eq("ActiveFedora::QualifiedDublinCoreDatastream")
  end

  it "should work for multiple types" do
    b = Foo.new
    f = Bar.new
    expect(b.class.ds_specs).not_to eq(f.class.ds_specs)
  end
  after do
    Object.send(:remove_const, :Bar)
    Object.send(:remove_const, :Foo)
  end

end
  

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
active-fedora-8.7.0 spec/unit/inheritance_spec.rb
active-fedora-8.6.0 spec/unit/inheritance_spec.rb
active-fedora-8.5.0 spec/unit/inheritance_spec.rb
active-fedora-8.4.2 spec/unit/inheritance_spec.rb
active-fedora-8.4.1 spec/unit/inheritance_spec.rb
active-fedora-8.4.0 spec/unit/inheritance_spec.rb
active-fedora-8.3.0 spec/unit/inheritance_spec.rb
active-fedora-8.2.2 spec/unit/inheritance_spec.rb