Module: Turnip::RSpec

Defined in:
lib/turnip_formatter/ext/turnip/rspec.rb

Class Method Summary collapse

Class Method Details

.original_runObject



8
# File 'lib/turnip_formatter/ext/turnip/rspec.rb', line 8

alias_method :original_run, :run

.run(feature_file) ⇒ Object



10
11
12
13
14
15
16
17
18
19
# File 'lib/turnip_formatter/ext/turnip/rspec.rb', line 10

def run(feature_file)
  original_run(feature_file)

  feature = Turnip::Builder.build(feature_file)
  return nil if feature.nil?

  example_group = ::RSpec.world.example_groups.last

  (feature, example_group)
end

.update_metadata(feature, example_group) ⇒ Object

Parameters:

  • feature (Turnip::Node::Feature)
  • example_group (RSpec::Core::ExampleGroup)


25
26
27
28
29
30
31
32
33
34
35
# File 'lib/turnip_formatter/ext/turnip/rspec.rb', line 25

def (feature, example_group)
  examples = example_group.children

  feature.scenarios.zip(examples).each do |scenario, parent_example|
    example = parent_example.examples.first
    example.[:turnip_formatter] = {
      feature: feature,
      scenario: scenario,
    }
  end
end