3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/govuk_ab_testing/rspec_capybara_helpers.rb', line 3
def with_variant(args)
unless defined?(page)
raise "The variable 'page' is not defined, are you using capybara?"
end
ab_test_name, variant = args.first
dimension = args[:dimension]
ab_test =
GovukAbTesting::AbTest.new(ab_test_name.to_s, dimension: dimension)
page.driver.(ab_test., variant)
yield
expect(ab_test.).to eq(page.['Vary'])
unless args[:assert_meta_tag] == false
content = [ab_test.meta_tag_name, variant].join(':')
ab_test_metatag = page.find("meta[name='govuk:ab-test']", visible: :all)
expect(ab_test_metatag['content']).to eq(content)
if dimension.nil?
expect(ab_test_metatag['data-analytics-dimension']).to_not be_nil
else
expect(ab_test_metatag['data-analytics-dimension']).to eq(dimension.to_s)
end
end
end
|