Sha256: 0375ea63b9aa59e71d226dc1a020bed06d922c6a4194ca3a1b58d17dfedb1331

Contents?: true

Size: 1.79 KB

Versions: 30

Compression:

Stored size: 1.79 KB

Contents

require File.join( File.dirname(__FILE__), "../spec_helper" )

describe ActiveFedora::Base do

  describe "active model methods" do 
    class BarStream < ActiveFedora::NokogiriDatastream 
      set_terminology do |t|
        t.root(:path=>"first", :xmlns=>"urn:foobar")
        t.duck()
      end

      def self.xml_template
            Nokogiri::XML::Document.parse '<first xmlns="urn:foobar"> 
              <duck></duck>
            </first>'
      end
    end

    class BarHistory < ActiveFedora::Base
      has_metadata :type=>ActiveFedora::MetadataDatastream, :name=>"someData" do |m|
        m.field "fubar", :string
        m.field "swank", :text
      end
      has_metadata :type=>ActiveFedora::MetadataDatastream, :name=>"withText" do |m|
        m.field "fubar", :text
      end
      has_metadata :type=>ActiveFedora::MetadataDatastream, :name=>"withText2", :label=>"withLabel" do |m|
        m.field "fubar", :text
      end 

      has_metadata :type=>BarStream, :name=>"xmlish"
      delegate :fubar, :to=>'withText', :unique=>true
      delegate :duck, :to=>'xmlish', :unique=>true
    end
    before :each do
      @n = BarHistory.new(:pid=>"monkey:99")
    end
    describe "attributes=" do
      it "should set attributes" do
        @n.attributes = {:fubar=>"baz", :duck=>"Quack"}
        @n.fubar.should == "baz"
        @n.withText.get_values(:fubar).first.should == 'baz'
        @n.duck.should == "Quack"
        @n.xmlish.term_values(:duck).first.should == 'Quack'
      end
    end
    describe "update_attributes" do
      it "should set attributes and save " do
        @n.update_attributes(:fubar=>"baz", :duck=>"Quack")
        @q = BarHistory.find('monkey:99')
        @q.fubar.should == "baz"
        @q.duck.should == "Quack"
      end
      after do
        @n.delete
      end
    end

  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
active-fedora-3.1.4 spec/unit/base_active_model_spec.rb
active-fedora-3.1.3 spec/unit/base_active_model_spec.rb
active-fedora-3.1.2 spec/unit/base_active_model_spec.rb
active-fedora-3.1.1 spec/unit/base_active_model_spec.rb
active-fedora-3.1.0 spec/unit/base_active_model_spec.rb
active-fedora-3.1.0.rc4 spec/unit/base_active_model_spec.rb
active-fedora-3.1.0.rc3 spec/unit/base_active_model_spec.rb
active-fedora-3.1.0.rc2 spec/unit/base_active_model_spec.rb
active-fedora-3.1.0.rc1 spec/unit/base_active_model_spec.rb
active-fedora-3.1.0.pre14 spec/unit/base_active_model_spec.rb
active-fedora-3.1.0.pre13 spec/unit/base_active_model_spec.rb
active-fedora-3.1.0.pre12 spec/unit/base_active_model_spec.rb
active-fedora-3.1.0.pre11 spec/unit/base_active_model_spec.rb
active-fedora-3.1.0.pre10 spec/unit/base_active_model_spec.rb
active-fedora-3.1.0.pre9 spec/unit/base_active_model_spec.rb
active-fedora-3.0.7 spec/unit/base_active_model_spec.rb
active-fedora-3.0.6 spec/unit/base_active_model_spec.rb
active-fedora-3.1.0.pre8 spec/unit/base_active_model_spec.rb
active-fedora-3.1.0.pre7 spec/unit/base_active_model_spec.rb
active-fedora-3.1.0.pre6 spec/unit/base_active_model_spec.rb