module Angus::RSpec::Examples::DescribeErrors
Public Class Methods
mock_service(base, error, example) { || ... }
click to toggle source
Mock a base service by redefining .app method, yields the given block, and
restores the original .app method
@param [Class] Class that responds to .get @param error Exception that will be raised when executing a get route @param [#app] example Running example
# File lib/angus/rspec/support/examples/describe_errors.rb, line 12 def self.mock_service(base, error, example, &block) base_class = if base.is_a?(Class) base else base.class end mock = Class.new(base_class) do def initialize(base, error) @base = base @error = error super() router.on(:get, '/error') do raise error end end def class @base end end example.define_singleton_method :app do mock.new(base_class, error) end begin yield ensure example.define_singleton_method :app do base end end end
new(base, error)
click to toggle source
Calls superclass method
# File lib/angus/rspec/support/examples/describe_errors.rb, line 21 def initialize(base, error) @base = base @error = error super() router.on(:get, '/error') do raise error end end
Public Instance Methods
class()
click to toggle source
# File lib/angus/rspec/support/examples/describe_errors.rb, line 32 def class @base end