Module: Turnip::RSpec

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

Class Method Summary collapse

Class Method Details

.add_steps_to_metadata(feature, example_group) ⇒ Object

Parameters:

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


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

def (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.[:chartspec_turnip] = { steps: steps, tags: tags }
  end
end

.run(feature_file) ⇒ Object



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

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|
    (feature, example_group)
  end
  features
end

.super_runObject



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

alias_method :super_run, :run