4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/trail_guide/spec_helper.rb', line 4
def use_trailguide(**experiments, &block)
if block_given?
before do
use_trailguide(**experiments)
end
yield
else
experiments.each do |exp,var|
experiment = TrailGuide.catalog.find(exp)
raise ArgumentError, "Experiment not found `#{exp}`" unless experiment.present?
variant = experiment.variants.find { |v| v == var }
raise ArgumentError, "Variant `#{var}` not found in experiment `#{exp}`" unless variant.present?
allow_any_instance_of(experiment).to receive(:choose!).and_return(variant)
end
end
end
|