Sha256: c7864652b8e4ef17301b8768a9756a66ff27ddd5b8c920ead26d7b0a2c811d96

Contents?: true

Size: 1.14 KB

Versions: 10

Compression:

Stored size: 1.14 KB

Contents

require 'spec_helper'

describe Arpa::Repositories::Resources::Remover, type: :repository, slow: true do

  let(:resource_001)     { create :repository_resource, :user }
  let(:destroy_resource) { subject.destroy(resource_001) }

  describe '#destroy' do

    context 'when resource has no actions associate' do
      let(:actions) { [] }

      it 'should destroy the resource' do
        expect { destroy_resource }.to change(Arpa::Repositories::Resources::RepositoryResource, :count).by(0)
      end
    end

    context 'when resource has actions associate' do
      let(:action_001) { create :repository_action, :index, resource: resource_001 }
      let(:action_002) { create :repository_action, :show,  resource: resource_001 }

      before do
        action_001
        action_002
      end

      it 'should destroy the resource' do
        expect { destroy_resource }.to change(Arpa::Repositories::Resources::RepositoryResource, :count).by(-1)
      end

      it 'should destroy all actions associate with resource' do
        expect { destroy_resource }.to change(Arpa::Repositories::Actions::RepositoryAction, :count).by(-2)
      end

    end

  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
arpa-0.2.0 spec/lib/arpa/repositories/resources/remover_spec.rb
arpa-0.1.0 spec/lib/arpa/repositories/resources/remover_spec.rb
arpa-0.0.9 spec/lib/arpa/repositories/resources/remover_spec.rb
arpa-0.0.8 spec/lib/ar/repositories/resources/remover_spec.rb
arpa-0.0.7 spec/lib/ar/repositories/resources/remover_spec.rb
arpa-0.0.6 spec/lib/ar/repositories/resources/remover_spec.rb
arpa-0.0.5 spec/lib/ar/repositories/resources/remover_spec.rb
arpa-0.0.4 spec/lib/ar/repositories/resources/remover_spec.rb
arpa-0.0.3 spec/lib/ar/repositories/resources/remover_spec.rb
arpa-0.0.2 spec/lib/ar/repositories/resources/remover_spec.rb