Module: Bogus::RSpecExtensions

Defined in:
lib/bogus/rspec_extensions.rb

Instance Method Summary collapse

Instance Method Details

#fake(name, opts = {}, &block) ⇒ Object



3
4
5
# File 'lib/bogus/rspec_extensions.rb', line 3

def fake(name, opts = {}, &block)
  let(name) { fake(name, opts, &block) }
end

#fake_class(name, opts = {}) ⇒ Object



7
8
9
10
11
# File 'lib/bogus/rspec_extensions.rb', line 7

def fake_class(name, opts = {})
  before do
    fake_class(name, opts)
  end
end

#verify_contract(name) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/bogus/rspec_extensions.rb', line 13

def verify_contract(name)
  old_described_class = described_class

  before do
    new_class = Bogus.record_calls_for(name, described_class)
    example.[:example_group][:described_class] = new_class
  end

  after do
    example.[:example_group][:described_class] = old_described_class
  end

  RSpec.configure do |config|
    config.after(:suite) { Bogus.verify_contract!(name) }
  end
end