Sha256: 0e52c20fde692aecd7978a4211dd060ebe539c8b3cb312916af3985ba67d90ee

Contents?: true

Size: 975 Bytes

Versions: 4

Compression:

Stored size: 975 Bytes

Contents

module GovukAbTesting
  module AcceptanceTests
    class ActiveSupport
      attr_reader :request, :request_headers, :scope

      def initialize(scope)
        @request = scope.instance_variable_get(:@request)
        if @request.nil?
          raise "Couldn't find '@request' defined, are you using ActiveSupport test cases?"
        end
        @scope = scope
        @request_headers = {}
      end

      def set_header(name, value)
        request.headers[name] = value
        @request_headers[name] = value
      end

      def vary_header(response)
        response.headers['Vary']
      end

      def analytics_meta_tags
        scope.css_select(ANALYTICS_META_TAG_SELECTOR)
      end

      def analytics_meta_tag
        analytics_meta_tags.first
      end

      def content
        analytics_meta_tag.attributes['content'].value
      end

      def dimension
        analytics_meta_tag.attributes['data-analytics-dimension'].value
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
govuk_ab_testing-1.0.4 lib/govuk_ab_testing/acceptance_tests/active_support.rb
govuk_ab_testing-1.0.3 lib/govuk_ab_testing/acceptance_tests/active_support.rb
govuk_ab_testing-1.0.2 lib/govuk_ab_testing/acceptance_tests/active_support.rb
govuk_ab_testing-1.0.1 lib/govuk_ab_testing/acceptance_tests/active_support.rb