module Turnip::RSpec

Public Class Methods

original_run(feature_file)
Alias for: run
run(feature_file) click to toggle source
# File lib/turnip_formatter/ext/turnip/rspec.rb, line 9
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

  update_metadata(feature, example_group)
end
Also aliased as: original_run
update_metadata(feature, example_group) click to toggle source

@param [Turnip::Node::Feature] feature @param [RSpec::Core::ExampleGroup] example_group

# File lib/turnip_formatter/ext/turnip/rspec.rb, line 24
def update_metadata(feature, example_group)
  examples = example_group.children

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