Module: Operandi::RSpec::Matchers
- Defined in:
- lib/operandi/rspec/matchers/define_step.rb,
lib/operandi/rspec/matchers/execute_step.rb,
lib/operandi/rspec/matchers/define_output.rb,
lib/operandi/rspec/matchers/have_error_on.rb,
lib/operandi/rspec/matchers/define_argument.rb,
lib/operandi/rspec/matchers/have_warning_on.rb,
lib/operandi/rspec/matchers/trigger_callback.rb
Defined Under Namespace
Classes: DefineArgumentMatcher, DefineOutputMatcher, DefineStepMatcher, DefineStepsMatcher, ExecuteStepMatcher, ExecuteStepsMatcher, HaveErrorOnMatcher, HaveErrorsOnMatcher, HaveWarningOnMatcher, HaveWarningsOnMatcher, SkipStepMatcher, TriggerCallbackMatcher
Instance Method Summary collapse
-
#define_argument(name) ⇒ Object
Matcher for testing argument definitions on a service class.
-
#define_output(name) ⇒ Object
Matcher for testing output definitions on a service class.
-
#define_step(name) ⇒ Object
Matcher for testing step definitions on a service class.
- #define_steps(*names) ⇒ Object
- #define_steps_in_order(*names) ⇒ Object
-
#execute_step(name) ⇒ Object
Matcher for testing step execution on a service instance NOTE: This matcher requires the service to track executed steps.
- #execute_steps(*names) ⇒ Object
- #execute_steps_in_order(*names) ⇒ Object
-
#have_error_on(key) ⇒ Object
Matcher for testing errors on a service instance.
- #have_errors_on(*keys) ⇒ Object
-
#have_warning_on(key) ⇒ Object
Matcher for testing warnings on a service instance.
- #have_warnings_on(*keys) ⇒ Object
- #skip_step(name) ⇒ Object
-
#trigger_callback(callback_name) ⇒ Object
Matcher for testing callback execution on a service instance NOTE: This matcher requires the service to track callback execution.
Instance Method Details
#define_argument(name) ⇒ Object
Matcher for testing argument definitions on a service class
25 26 27 |
# File 'lib/operandi/rspec/matchers/define_argument.rb', line 25 def define_argument(name) DefineArgumentMatcher.new(name) end |
#define_output(name) ⇒ Object
Matcher for testing output definitions on a service class
22 23 24 |
# File 'lib/operandi/rspec/matchers/define_output.rb', line 22 def define_output(name) DefineOutputMatcher.new(name) end |
#define_step(name) ⇒ Object
Matcher for testing step definitions on a service class
25 26 27 |
# File 'lib/operandi/rspec/matchers/define_step.rb', line 25 def define_step(name) DefineStepMatcher.new(name) end |
#define_steps(*names) ⇒ Object
29 30 31 |
# File 'lib/operandi/rspec/matchers/define_step.rb', line 29 def define_steps(*names) DefineStepsMatcher.new(names, ordered: false) end |
#define_steps_in_order(*names) ⇒ Object
33 34 35 |
# File 'lib/operandi/rspec/matchers/define_step.rb', line 33 def define_steps_in_order(*names) DefineStepsMatcher.new(names, ordered: true) end |
#execute_step(name) ⇒ Object
Matcher for testing step execution on a service instance NOTE: This matcher requires the service to track executed steps. Add a callback in your service to track execution:
after_step_run do |service, step_name|
service.executed_steps << step_name
end
25 26 27 |
# File 'lib/operandi/rspec/matchers/execute_step.rb', line 25 def execute_step(name) ExecuteStepMatcher.new(name) end |
#execute_steps(*names) ⇒ Object
33 34 35 |
# File 'lib/operandi/rspec/matchers/execute_step.rb', line 33 def execute_steps(*names) ExecuteStepsMatcher.new(names, ordered: false) end |
#execute_steps_in_order(*names) ⇒ Object
37 38 39 |
# File 'lib/operandi/rspec/matchers/execute_step.rb', line 37 def execute_steps_in_order(*names) ExecuteStepsMatcher.new(names, ordered: true) end |
#have_error_on(key) ⇒ Object
Matcher for testing errors on a service instance
19 20 21 |
# File 'lib/operandi/rspec/matchers/have_error_on.rb', line 19 def have_error_on(key) HaveErrorOnMatcher.new(key) end |
#have_errors_on(*keys) ⇒ Object
23 24 25 |
# File 'lib/operandi/rspec/matchers/have_error_on.rb', line 23 def have_errors_on(*keys) HaveErrorsOnMatcher.new(keys) end |
#have_warning_on(key) ⇒ Object
Matcher for testing warnings on a service instance
19 20 21 |
# File 'lib/operandi/rspec/matchers/have_warning_on.rb', line 19 def have_warning_on(key) HaveWarningOnMatcher.new(key) end |
#have_warnings_on(*keys) ⇒ Object
23 24 25 |
# File 'lib/operandi/rspec/matchers/have_warning_on.rb', line 23 def have_warnings_on(*keys) HaveWarningsOnMatcher.new(keys) end |
#skip_step(name) ⇒ Object
29 30 31 |
# File 'lib/operandi/rspec/matchers/execute_step.rb', line 29 def skip_step(name) SkipStepMatcher.new(name) end |
#trigger_callback(callback_name) ⇒ Object
Matcher for testing callback execution on a service instance NOTE: This matcher requires the service to track callback execution. Add tracking in your callbacks:
before_service_run do |service|
service.callback_log << :before_service_run
end
after_step_run do |service, step_name|
service.callback_log << [:after_step_run, step_name]
end
26 27 28 |
# File 'lib/operandi/rspec/matchers/trigger_callback.rb', line 26 def trigger_callback(callback_name) TriggerCallbackMatcher.new(callback_name) end |