Sha256: 6b8d855d54bbee30e5be728b9ff1cea9a480f528a867b3a5923e47e4f2a10a4b

Contents?: true

Size: 894 Bytes

Versions: 10

Compression:

Stored size: 894 Bytes

Contents

require 'spec_helper'

describe Arpa::Services::Roles::RoleManagerCreator, type: :service, fast: true do

  let(:role_creator) { double }
  let(:params)           { {role: {name: 'role_name', description: 'role_description', action_ids: [1, 2]}} }
  let(:success_proc)     { ->(r) {} }
  let(:callback)         { {success: success_proc, fail: ->(e) {raise e} } }

  let(:setup_creators) do
    allow(Arpa::Services::Roles::Create::RoleCreator).to receive(:new).and_return(role_creator)
  end

  let(:setup_creators_methods) do
    allow(role_creator).to receive(:create)
  end

  let(:result) { subject.create params, callback }

  before do
    setup_creators
    setup_creators_methods
    allow(success_proc).to receive(:call)
    result
  end

  it 'role_creator should call :create with parameters' do
    expect(role_creator).to have_received(:create).with(params[:role]).once
  end

end

Version data entries

10 entries across 10 versions & 1 rubygems

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