Sha256: ecec3fbd1ad1965c1bd6a242938b1b3e51ffe12ceeef7b44775f0f0fdbad073a

Contents?: true

Size: 854 Bytes

Versions: 12

Compression:

Stored size: 854 Bytes

Contents

# @private
module Evil::Client::RSpec
  #
  # Container to chain settings for allowing operation(s)
  #
  class AllowStub < BaseStub
    def to_return(response = nil)
      allow(Evil::Client::Container::Operation)
        .to follow_expectation
        .and_return double(:operation, call: response)
    end

    def to_raise(error = StandardError, *args)
      allow(Evil::Client::Container::Operation)
        .to follow_expectation
        .and_return proc { raise(error, *args) }
    end

    def to_call_original
      allow(Evil::Client::Container::Operation)
        .to follow_expectation
        .and_call_original
    end

    private

    def follow_expectation
      receive(:new).with evil_client_schema_matching(@klass, @name),
                         *any_args, # logger
                         @condition || anything
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
evil-client-3.3.0 lib/evil/client/rspec/allow_stub.rb
evil-client-3.2.0 lib/evil/client/rspec/allow_stub.rb
evil-client-3.1.0 lib/evil/client/rspec/allow_stub.rb
evil-client-3.0.4 lib/evil/client/rspec/allow_stub.rb
evil-client-3.0.3 lib/evil/client/rspec/allow_stub.rb
evil-client-3.0.2 lib/evil/client/rspec/allow_stub.rb
evil-client-3.0.1 lib/evil/client/rspec/allow_stub.rb
evil-client-3.0.0 lib/evil/client/rspec/allow_stub.rb
evil-client-2.1.1 lib/evil/client/rspec/allow_stub.rb
evil-client-2.1.0 lib/evil/client/rspec/allow_stub.rb
evil-client-2.0.0 lib/evil/client/rspec/allow_stub.rb
evil-client-1.1.0 lib/evil/client/rspec/allow_stub.rb