Sha256: b28755dd782f8656efb5c61da4fe23f94b1a90a56e51fdef8d3f3e0295b57824

Contents?: true

Size: 945 Bytes

Versions: 12

Compression:

Stored size: 945 Bytes

Contents

module GovukAbTesting
  class Configuration
    VALID_FRAMEWORKS = %i(capybara active_support).freeze
    attr_accessor :config, :acceptance_test_framework

    def initialize
      @config = {}
    end

    def acceptance_test_framework
      config[:acceptance_test_framework]
    end

    def acceptance_test_framework=(framework)
      unless VALID_FRAMEWORKS.include?(framework)
        raise "Invalid acceptance test framework '#{framework}'"
      end

      config[:acceptance_test_framework] = framework
      @framework_class = nil
    end

    def framework_class
      @framework_class ||= begin
        case config[:acceptance_test_framework]
        when :capybara
          then GovukAbTesting::AcceptanceTests::Capybara
        when :active_support
          then GovukAbTesting::AcceptanceTests::ActiveSupport
        else
          raise "Invalid framework #{acceptance_test_framework}"
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
govuk_ab_testing-2.4.1 lib/govuk_ab_testing/configuration.rb
govuk_ab_testing-2.4.0 lib/govuk_ab_testing/configuration.rb
govuk_ab_testing-2.3.1 lib/govuk_ab_testing/configuration.rb
govuk_ab_testing-2.3.0 lib/govuk_ab_testing/configuration.rb
govuk_ab_testing-2.2.0 lib/govuk_ab_testing/configuration.rb
govuk_ab_testing-2.1.0 lib/govuk_ab_testing/configuration.rb
govuk_ab_testing-2.0.0 lib/govuk_ab_testing/configuration.rb
govuk_ab_testing-1.0.4 lib/govuk_ab_testing/configuration.rb
govuk_ab_testing-1.0.3 lib/govuk_ab_testing/configuration.rb
govuk_ab_testing-1.0.2 lib/govuk_ab_testing/configuration.rb
govuk_ab_testing-1.0.1 lib/govuk_ab_testing/configuration.rb
govuk_ab_testing-1.0.0 lib/govuk_ab_testing/configuration.rb