Sha256: 80a0cbb7f51e1e2047d91bcb6446de012f4e850303a4980ae3c10652b2d598a4

Contents?: true

Size: 1.23 KB

Versions: 10

Compression:

Stored size: 1.23 KB

Contents

require 'spec_helper'

describe Arpa::Services::Roles::Remove::RoleRemover, type: :service, fast: true do

  let(:role) { double }

  describe 'removing role' do
    let(:remover_repo_class) { Arpa::Repositories::Roles::Remover }
    let(:remover_repo)       { instance_double remover_repo_class }
    let(:setup)              {  }

    before do
      allow(remover_repo_class).to receive(:new).and_return(remover_repo)
      setup
      subject.remove(role)
    end

    context 'when role has no profiles' do

      let(:setup) do
        allow(role).to receive(:has_profile?).and_return(false)
        allow(remover_repo).to receive(:destroy)
      end

      it 'remover repository should call :destroy once' do
        expect(remover_repo).to have_received(:destroy).once
      end

      it 'remover repository should call :new once' do
        expect(remover_repo_class).to have_received(:new).once
      end

    end

    context 'when role has profiles' do

      let(:setup) do
        allow(role).to receive(:has_profile?).and_return(true)
        allow(remover_repo).to receive(:disable)
      end

      it 'remover repository should call :disable once' do
        expect(remover_repo).to have_received(:disable).once
      end

    end

  end

end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
arpa-0.2.0 spec/lib/arpa/services/roles/remove/role_remover_spec.rb
arpa-0.1.0 spec/lib/arpa/services/roles/remove/role_remover_spec.rb
arpa-0.0.9 spec/lib/arpa/services/roles/remove/role_remover_spec.rb
arpa-0.0.8 spec/lib/ar/services/roles/remove/role_remover_spec.rb
arpa-0.0.7 spec/lib/ar/services/roles/remove/role_remover_spec.rb
arpa-0.0.6 spec/lib/ar/services/roles/remove/role_remover_spec.rb
arpa-0.0.5 spec/lib/ar/services/roles/remove/role_remover_spec.rb
arpa-0.0.4 spec/lib/ar/services/roles/remove/role_remover_spec.rb
arpa-0.0.3 spec/lib/ar/services/roles/remove/role_remover_spec.rb
arpa-0.0.2 spec/lib/ar/services/roles/remove/role_remover_spec.rb