module Turnip::RSpec

Public Class Methods

add_steps_to_metadata(feature, example_group) click to toggle source

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

# File lib/chartspec/ext/turnip/rspec.rb, line 23
def add_steps_to_metadata(feature, example_group)
  background_steps = feature.backgrounds.map(&:steps).flatten
  examples = example_group.children

  feature.scenarios.zip(examples).each do |scenario, parent_example|
    example = parent_example.examples.first
    steps   = background_steps + scenario.steps
    tags    = (feature.tags + scenario.tags).uniq

    example.metadata[:chartspec_turnip] = { steps: steps, tags: tags }
  end
end
run(feature_file) click to toggle source
# File lib/chartspec/ext/turnip/rspec.rb, line 9
def run(feature_file)
  features = super_run(feature_file)
  example_groups = ::RSpec.world.example_groups[-features.length..-1]

  features.zip(example_groups).each do |feature, example_group|
    add_steps_to_metadata(feature, example_group)
  end
  features
end
Also aliased as: super_run
super_run(feature_file)
Alias for: run