Module: GovukAbTesting::MinitestHelpers
- Defined in:
- lib/govuk_ab_testing/minitest_helpers.rb
Instance Method Summary collapse
- #assert_response_not_modified_for_ab_test ⇒ Object
- #setup_ab_variant(ab_test_name, variant, dimension = 300) ⇒ Object
- #with_variant(args) ⇒ Object
Instance Method Details
#assert_response_not_modified_for_ab_test ⇒ Object
29 30 31 32 33 34 |
# File 'lib/govuk_ab_testing/minitest_helpers.rb', line 29 def assert_response_not_modified_for_ab_test assert_nil response.headers['Vary'], "`Vary` header is being added to a page which is outside of the A/B test" assert_select "meta[name='govuk:ab-test']", false end |
#setup_ab_variant(ab_test_name, variant, dimension = 300) ⇒ Object
23 24 25 26 27 |
# File 'lib/govuk_ab_testing/minitest_helpers.rb', line 23 def setup_ab_variant(ab_test_name, variant, dimension = 300) ab_test = GovukAbTesting::AbTest.new(ab_test_name, dimension: dimension) @request.headers[ab_test.request_header] = variant end |
#with_variant(args) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/govuk_ab_testing/minitest_helpers.rb', line 3 def with_variant(args) ab_test_name, variant = args.first ab_test = GovukAbTesting::AbTest.new(ab_test_name.to_s, dimension: args[:dimension]) @request.headers[ab_test.request_header] = variant requested_variant = ab_test.requested_variant(@request) yield assert_match ab_test.response_header, response.headers['Vary'], "You probably forgot to use `configure_response`" unless args[:assert_meta_tag] == false content = ab_test. + ':' + requested_variant.variant_name = "You probably forgot to add the `analytics_meta_tag` to the views" assert_select "meta[name='govuk:ab-test'][content='#{content}']", 1, end end |