Module: TurnipFormatter::Scenario

Included in:
Failure, Pass, Pending
Defined in:
lib/turnip_formatter/scenario.rb,
lib/turnip_formatter/scenario/pass.rb,
lib/turnip_formatter/scenario/failure.rb,
lib/turnip_formatter/scenario/pending.rb

Defined Under Namespace

Classes: Failure, NoExistFailedStepInformationError, NoExistPendingStepInformationError, NoFeatureFileError, NotExistStepsInformationError, NotFailedScenarioError, NotPassedScenarioError, NotPendingScenarioError, Pass, Pending

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args, &block) ⇒ Object



26
27
28
29
30
31
32
# File 'lib/turnip_formatter/scenario.rb', line 26

def method_missing(name, *args, &block)
  if scenario.execution_result.member?(name.to_sym)
    scenario.execution_result[name.to_sym]
  else
    super
  end
end

Instance Method Details

#feature_file_pathObject



42
43
44
# File 'lib/turnip_formatter/scenario.rb', line 42

def feature_file_path
  scenario.[:file_path]
end

#feature_nameObject



38
39
40
# File 'lib/turnip_formatter/scenario.rb', line 38

def feature_name
  @scenario.example_group.[:example_group][:example_group][:description]
end

#initialize(example) ⇒ Object

Parameters:

  • example (RSpec::Core::Example)


13
14
15
# File 'lib/turnip_formatter/scenario.rb', line 13

def initialize(example)
  @scenario = example
end

#nameObject



34
35
36
# File 'lib/turnip_formatter/scenario.rb', line 34

def name
  scenario.example_group.description
end

#stepsObject



22
23
24
# File 'lib/turnip_formatter/scenario.rb', line 22

def steps
  descriptions.map { |desc| TurnipFormatter::Step.new(desc) }
end

#tagsObject



46
47
48
# File 'lib/turnip_formatter/scenario.rb', line 46

def tags
  scenario.[:steps][:tags]
end

#validationObject



17
18
19
20
# File 'lib/turnip_formatter/scenario.rb', line 17

def validation
  raise NotExistStepsInformationError unless scenario..member?(:steps)
  raise NoFeatureFileError unless feature_file_path.end_with?('.feature')
end