Class: Operandi::RSpec::Matchers::TriggerCallbackMatcher
- Inherits:
-
Object
- Object
- Operandi::RSpec::Matchers::TriggerCallbackMatcher
- Defined in:
- lib/operandi/rspec/matchers/trigger_callback.rb
Constant Summary collapse
- VALID_CALLBACKS =
[ :before_service_run, :after_service_run, :around_service_run, :on_service_success, :on_service_failure, :before_step_run, :after_step_run, :around_step_run, :on_step_success, :on_step_failure, :on_step_crash, ].freeze
- STEP_CALLBACKS =
[ :before_step_run, :after_step_run, :around_step_run, :on_step_success, :on_step_failure, :on_step_crash, ].freeze
Instance Method Summary collapse
- #description ⇒ Object
- #failure_message ⇒ Object
- #failure_message_when_negated ⇒ Object
- #for_step(step_name) ⇒ Object
-
#initialize(callback_name) ⇒ TriggerCallbackMatcher
constructor
A new instance of TriggerCallbackMatcher.
- #matches?(service) ⇒ Boolean
Constructor Details
#initialize(callback_name) ⇒ TriggerCallbackMatcher
Returns a new instance of TriggerCallbackMatcher.
54 55 56 57 |
# File 'lib/operandi/rspec/matchers/trigger_callback.rb', line 54 def initialize(callback_name) @callback_name = callback_name @step_name = nil end |
Instance Method Details
#description ⇒ Object
93 94 95 96 97 |
# File 'lib/operandi/rspec/matchers/trigger_callback.rb', line 93 def description desc = "trigger callback :#{@callback_name}" desc += " for step :#{@step_name}" if @step_name desc end |
#failure_message ⇒ Object
73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/operandi/rspec/matchers/trigger_callback.rb', line 73 def return unless service_tracks_callbacks? if @step_name "expected service to trigger callback :#{@callback_name} for step :#{@step_name}, " \ "but callback log was: #{callback_log.inspect}" else "expected service to trigger callback :#{@callback_name}, " \ "but callback log was: #{callback_log.inspect}" end end |
#failure_message_when_negated ⇒ Object
85 86 87 88 89 90 91 |
# File 'lib/operandi/rspec/matchers/trigger_callback.rb', line 85 def if @step_name "expected service not to trigger callback :#{@callback_name} for step :#{@step_name}" else "expected service not to trigger callback :#{@callback_name}" end end |
#for_step(step_name) ⇒ Object
59 60 61 62 |
# File 'lib/operandi/rspec/matchers/trigger_callback.rb', line 59 def for_step(step_name) @step_name = step_name self end |
#matches?(service) ⇒ Boolean
64 65 66 67 68 69 70 71 |
# File 'lib/operandi/rspec/matchers/trigger_callback.rb', line 64 def matches?(service) @service = service return false unless service_tracks_callbacks? return false unless callback_triggered? true end |