Class: CukeLinter::FeatureWithoutScenariosLinter

Inherits:
Linter
  • Object
show all
Defined in:
lib/cuke_linter/linters/feature_without_scenarios_linter.rb

Overview

A linter that detects empty features

Instance Attribute Summary

Attributes inherited from Linter

#name

Instance Method Summary collapse

Methods inherited from Linter

#initialize, #lint

Constructor Details

This class inherits a constructor from CukeLinter::Linter

Instance Method Details

#messageObject

The message used to describe the problem that has been found



18
19
20
# File 'lib/cuke_linter/linters/feature_without_scenarios_linter.rb', line 18

def message
  'Feature has no scenarios'
end

#rule(model) ⇒ Object

The rule used to determine if a model has a problem



7
8
9
10
11
12
13
14
15
# File 'lib/cuke_linter/linters/feature_without_scenarios_linter.rb', line 7

def rule(model) # rubocop:disable Metrics/CyclomaticComplexity # It's good enough
  return false unless model.is_a?(CukeModeler::Feature)

  feature_tests = model.tests && model.tests.any?
  rule_tests    = model.respond_to?(:rules) && # Earlier versions of CukeModeler did not have Rule models
                  model.rules && model.rules.any? { |rule| rule.tests && rule.tests.any? }

  !(feature_tests || rule_tests)
end