Sha256: a9b5a4589c321d662375938b6a030bc7707245ed5616838de9d54ea03f45fa09

Contents?: true

Size: 1022 Bytes

Versions: 4

Compression:

Stored size: 1022 Bytes

Contents

shared_examples 'with_related_works' do
  let(:user) { FactoryGirl.create(:user) }
  let(:person) { FactoryGirl.create(:person) }
  let(:work) { FactoryGirl.create(:generic_work, user: user, title:"My Fabulous Work") }
  let(:dataset) { FactoryGirl.create(:dataset, user: user, title:"Records from that Kiki") }

  before do
    subject.apply_depositor_metadata(user.user_key)
    subject.contributors << person
    subject.save!
  end

  it "should track relations to other works" do
    subject.related_works << dataset
    subject.save
    subject.reload
    subject.related_works.should == [dataset]
    subject.related_work_ids.should == [dataset.pid]
    subject.related_works << work
    subject.related_works.should == [dataset, work]
    subject.related_works = [work]
    # Deleting via nested_attributes isn't currently supported by AF.  If it was, you could do this:
    #subject.update_attributes(related_works_attributes:[{id:dataset.pid, _delete:true}])
    subject.related_works.should == [work]
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
curate-0.6.6 spec/support/shared/shared_examples_with_related_works.rb
curate-0.6.5 spec/support/shared/shared_examples_with_related_works.rb
curate-0.6.4 spec/support/shared/shared_examples_with_related_works.rb
curate-0.6.3 spec/support/shared/shared_examples_with_related_works.rb