Sha256: 2271a6187e62da9177687e24a28694b7613a93382e601212e34c2dc1a06473da

Contents?: true

Size: 1.08 KB

Versions: 6

Compression:

Stored size: 1.08 KB

Contents

require 'spec_helper'

describe CurationConcern::LinkedResourceActor do
  let(:user) { FactoryGirl.create(:user) }
  let(:parent) { FactoryGirl.create(:generic_work, user: user) }
  let(:link) { Worthwhile::LinkedResource.new.tap {|lr| lr.batch = parent } }
  let(:you_tube_link) { 'http://www.youtube.com/watch?v=oHg5SJYRHA0' }

  subject {
    CurationConcern::LinkedResourceActor.new(link, user, url: you_tube_link)
  }

  describe '#create' do
    describe 'success' do
      it 'adds a linked resource to the parent work' do
        expect(parent.linked_resources).to be_empty
        subject.create
        expect(parent.reload.linked_resources).to eq [link]
        link.reload
        expect(link.batch).to eq parent
        expect(link.url).to eq you_tube_link
      end
    end

    describe 'failure' do
      it 'returns false' do
        allow(link).to receive(:valid?).and_return(false)
        expect {
          expect(subject.create).to be false
        }.to_not change { Worthwhile::LinkedResource.count }
        expect(parent.reload.linked_resources).to eq []
      end
    end
  end

end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
worthwhile-0.1.2 spec/actors/curation_concern/linked_resource_actor_spec.rb
worthwhile-0.1.1 spec/actors/curation_concern/linked_resource_actor_spec.rb
worthwhile-0.1.0 spec/actors/curation_concern/linked_resource_actor_spec.rb
worthwhile-0.0.3 spec/actors/curation_concern/linked_resource_actor_spec.rb
worthwhile-0.0.2 spec/actors/curation_concern/linked_resource_actor_spec.rb
worthwhile-0.0.1 spec/actors/curation_concern/linked_resource_actor_spec.rb