class CukeLinter::TestWithActionStepAsFinalStepLinter

A linter that detects scenarios and outlines that have an action step as their final step

Public Instance Methods

configure(options) click to toggle source

Changes the linting settings on the linter using the provided configuration

# File lib/cuke_linter/linters/test_with_action_step_as_final_step_linter.rb, line 8
def configure(options)
  @when_keywords = options['When']
end
message() click to toggle source

The message used to describe the problem that has been found

# File lib/cuke_linter/linters/test_with_action_step_as_final_step_linter.rb, line 23
def message
  "Test has 'When' as the final step."
end
rule(model) click to toggle source

The rule used to determine if a model has a problem

# File lib/cuke_linter/linters/test_with_action_step_as_final_step_linter.rb, line 13
def rule(model)
  return false unless model.is_a?(CukeModeler::Scenario) || model.is_a?(CukeModeler::Outline)

  model_steps = model.steps || []
  return false unless model_steps.last

  when_keywords.include?(model_steps.last.keyword)
end

Private Instance Methods

when_keywords() click to toggle source
# File lib/cuke_linter/linters/test_with_action_step_as_final_step_linter.rb, line 29
def when_keywords
  @when_keywords || [DEFAULT_WHEN_KEYWORD]
end