Sha256: ca8889f2a089967fa31cb36a647f05aef05c8baed95a14eb2a042e80e511c860
Contents?: true
Size: 1.2 KB
Versions: 30
Compression:
Stored size: 1.2 KB
Contents
require 'spec_helper' describe ActiveFedora::Base do before(:all) do class ResurrectionModel < ActiveFedora::Base after_destroy :eradicate end end after(:all) do Object.send(:remove_const, :ResurrectionModel) end context "when an object is has already been deleted" do let(:ghost) do obj = described_class.create obj.destroy obj.id end context "in a typical sitation" do specify "it cannot be reused" do expect { described_class.create(ghost) }.to raise_error(Ldp::Gone) end end specify "remove its tombstone" do expect(described_class.eradicate(ghost)).to be true end end context "when an object has just been deleted" do let(:zombie) do obj = described_class.create obj.destroy return obj end specify "remove its tombstone" do expect(zombie.eradicate).to be true end end describe "a model with no tombstones" do let(:lazarus) do body = ResurrectionModel.create soul = body.id body.destroy return soul end it "allows reusing a uri" do expect(ResurrectionModel.create(id: lazarus)).to be_kind_of(ResurrectionModel) end end end
Version data entries
30 entries across 30 versions & 1 rubygems