Sha256: 87f2f8fb84a945a314d18dee4fb9450da438ef7f1b09468d901d2687c78414d5

Contents?: true

Size: 1 KB

Versions: 4

Compression:

Stored size: 1 KB

Contents

module GovukAbTesting
  module AcceptanceTests
    class Capybara
      attr_reader :capybara_page, :request_headers

      def initialize(scope)
        unless scope.respond_to?(:page)
          raise "Page is not defined, are you using capybara?"
        end
        @capybara_page = scope.page
        @request_headers = {}
      end

      def request
        @capybara_page
      end

      def set_header(name, value)
        capybara_page.driver.options[:headers] = { name => value }
        capybara_page.driver.header(name, value)
        @request_headers[name] = value
      end

      def vary_header(*)
        capybara_page.response_headers['Vary']
      end

      def analytics_meta_tags
        capybara_page.all(ANALYTICS_META_TAG_SELECTOR, visible: :all)
      end

      def analytics_meta_tag
        analytics_meta_tags.first
      end

      def content
        analytics_meta_tag['content']
      end

      def dimension
        analytics_meta_tag['data-analytics-dimension']
      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/capybara.rb
govuk_ab_testing-1.0.3 lib/govuk_ab_testing/acceptance_tests/capybara.rb
govuk_ab_testing-1.0.2 lib/govuk_ab_testing/acceptance_tests/capybara.rb
govuk_ab_testing-1.0.1 lib/govuk_ab_testing/acceptance_tests/capybara.rb