Module: ServiceSupport
- Defined in:
- lib/service_base/rspec/service_support.rb
Instance Method Summary collapse
-
#stub_service_failure(service_class, failure:, matched: false) ⇒ Object
Note that you must have at least one
on.successand oneon.failurematcher for each block-style service call. -
#stub_service_success(service_class, success: nil, success_nil: false) ⇒ Object
Note that you must have at least one
on.successand oneon.failurematcher for each block-style service call.
Instance Method Details
#stub_service_failure(service_class, failure:, matched: false) ⇒ Object
Note that you must have at least one on.success and one on.failure matcher for each block-style service call. Set ‘matched: true` for specific `on.failure(:error)` blocks. Set `matched: true` for catch-all on.failure blocks.
19 20 21 22 23 24 25 |
# File 'lib/service_base/rspec/service_support.rb', line 19 def stub_service_failure(service_class, failure:, matched: false) block = double(:on) allow(block).to receive(:success) setup_failure_stub(block, failure, matched) allow(service_class).to receive(:call).and_yield(block) end |
#stub_service_success(service_class, success: nil, success_nil: false) ⇒ Object
Note that you must have at least one on.success and one on.failure matcher for each block-style service call
6 7 8 9 10 11 12 13 |
# File 'lib/service_base/rspec/service_support.rb', line 6 def stub_service_success(service_class, success: nil, success_nil: false) block = double(:on) allow(block).to receive(:failure) yield_value = determine_success_yield_value(success, success_nil) allow(block).to receive(:success) { |&block_proc| call_with_flexible_params(block_proc, yield_value) } allow(service_class).to receive(:call).and_yield(block) end |