Sha256: 65dbecb59d681dd64cd0b9c2885098cbd3c8d51ccc3449cd7c68977815c1b836

Contents?: true

Size: 1.77 KB

Versions: 20

Compression:

Stored size: 1.77 KB

Contents

require 'spec_helper'

describe ActiveFedora::Base do
  describe "active model methods" do
    class BarStream < ActiveFedora::OmDatastream
      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::SimpleDatastream, name: "someData" do |m|
        m.field "fubar", :string
        m.field "swank", :text
      end
      has_metadata type: ActiveFedora::SimpleDatastream, name: "withText" do |m|
        m.field "fubar", :text
      end
      has_metadata type: ActiveFedora::SimpleDatastream, name: "withText2" do |m|
        m.field "fubar", :text
      end

      has_metadata type: BarStream, name: "xmlish"
      Deprecation.silence(ActiveFedora::Attributes) do
        has_attributes :fubar, datastream: 'withText', multiple: false
        has_attributes :duck, datastream: 'xmlish', multiple: false
      end
    end
    before :each do
      @n = BarHistory.new
    end
    describe "attributes=" do
      it "sets attributes" do
        @n.attributes = { fubar: "baz", duck: "Quack" }
        expect(@n.fubar).to eq "baz"
        expect(@n.withText.get_values(:fubar).first).to eq 'baz'
        expect(@n.duck).to eq "Quack"
        expect(@n.xmlish.term_values(:duck).first).to eq 'Quack'
      end
    end
    describe "update_attributes" do
      it "sets attributes and save" do
        @n.update_attributes(fubar: "baz", duck: "Quack")
        @q = BarHistory.find(@n.id)
        expect(@q.fubar).to eq "baz"
        expect(@q.duck).to eq "Quack"
      end
      after do
        @n.delete
      end
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
active-fedora-9.7.3 spec/unit/base_active_model_spec.rb
active-fedora-9.7.2 spec/unit/base_active_model_spec.rb
active-fedora-9.12.0 spec/unit/base_active_model_spec.rb
active-fedora-9.11.0 spec/unit/base_active_model_spec.rb
active-fedora-9.10.4 spec/unit/base_active_model_spec.rb
active-fedora-9.10.3 spec/unit/base_active_model_spec.rb
active-fedora-9.10.2 spec/unit/base_active_model_spec.rb
active-fedora-9.10.1 spec/unit/base_active_model_spec.rb
active-fedora-9.10.0 spec/unit/base_active_model_spec.rb
active-fedora-9.10.0.pre2 spec/unit/base_active_model_spec.rb
active-fedora-9.10.0.pre1 spec/unit/base_active_model_spec.rb
active-fedora-9.9.1 spec/unit/base_active_model_spec.rb
active-fedora-9.9.0 spec/unit/base_active_model_spec.rb
active-fedora-9.8.2 spec/unit/base_active_model_spec.rb
active-fedora-9.8.1 spec/unit/base_active_model_spec.rb
active-fedora-9.8.0 spec/unit/base_active_model_spec.rb
active-fedora-9.7.1 spec/unit/base_active_model_spec.rb
active-fedora-9.7.0 spec/unit/base_active_model_spec.rb
active-fedora-9.6.2 spec/unit/base_active_model_spec.rb
active-fedora-9.6.1 spec/unit/base_active_model_spec.rb