Sha256: be4089171d705f262b474884d5d1bf7c395f3c2f262a981ee75d5b1960460f14

Contents?: true

Size: 1.03 KB

Versions: 5

Compression:

Stored size: 1.03 KB

Contents

require 'spec_helper'

describe ActiveFedora::ChangeSet do
  let(:change_set) { described_class.new(base, base.resource, base.changed_attributes.keys) }
  subject { change_set }

  context "with an unchanged object" do
    let(:base) { ActiveFedora::Base.new }

    it { is_expected.to be_empty }
  end

  context "with a changed object" do
    before do
      class Library < ActiveFedora::Base
      end

      class Book < ActiveFedora::Base
        belongs_to :library, predicate: ActiveFedora::RDF::Fcrepo::RelsExt.hasConstituent
        property :title, predicate: ::RDF::DC.title
      end

      base.library_id = 'foo'
      base.title = ['bar']
    end
    after do
      Object.send(:remove_const, :Library)
      Object.send(:remove_const, :Book)
    end

    let(:base) { Book.create }


    describe "#changes" do
      subject { change_set.changes }

      it { is_expected.to be_kind_of Hash }

      it "should have two elements" do
        expect(subject.size).to eq 2
      end
    end

    it { is_expected.to_not be_empty }
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
active-fedora-9.0.4 spec/unit/change_set_spec.rb
active-fedora-9.0.3 spec/unit/change_set_spec.rb
active-fedora-9.0.2 spec/unit/change_set_spec.rb
active-fedora-9.0.1 spec/unit/change_set_spec.rb
active-fedora-9.0.0 spec/unit/change_set_spec.rb