require 'spec_helper' class ResourceImplementation def self.helper_method(args);end include Arpa::Additions::Resource def session;'';end def current_user;'';end end describe Arpa::Additions::Resource, type: :addition, fast: true do let(:resource_implementation) { ResourceImplementation.new } let(:verifier) { double } let(:resource) { double } let(:action) { double } before do allow(Arpa::Services::Verifier).to receive(:new).and_return(verifier) setup end describe '#has_access?' do let(:setup) do allow(verifier).to receive(:has_access?) resource_implementation.has_access?(resource, action) end it 'should call :new from Arpa::Services::Verifier' do expect(Arpa::Services::Verifier).to have_received(:new).once end it 'verifier should call :has_access? with resource and action as parameter' do expect(verifier).to have_received(:has_access?).with(resource, action).once end end describe '#reset_permissions' do let(:setup) do allow(verifier).to receive(:reset_permissions) resource_implementation.reset_permissions end it 'should call :new from Arpa::Services::Verifier' do expect(Arpa::Services::Verifier).to have_received(:new).once end it 'verifier should call :reset_permissions once' do expect(verifier).to have_received(:reset_permissions).once end end end