Sha256: 97b40cf276da06b72fd1b9673bf47555c375e6cae8a386dfca0e9e53eb86793a

Contents?: true

Size: 1.18 KB

Versions: 2

Compression:

Stored size: 1.18 KB

Contents

require_relative "../helper"

# Not worth trying to test on old Rails versions
return unless Rails::VERSION::MAJOR >= 7

require "capybara/cuprite"
require "flipper"
require "flipper/test_help"

require 'action_dispatch/system_testing/server'
ActionDispatch::SystemTesting::Server.silence_puma = true

class TestApp < Rails::Application
  config.load_defaults "#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}"
  config.eager_load = false
  config.logger = ActiveSupport::Logger.new(StringIO.new)
  routes.append do
    root to: "features#index"
  end
end

TestApp.initialize!

class FeaturesController < ActionController::Base
  def index
    render json: Flipper.enabled?(:test) ? "Enabled" : "Disabled"
  end
end

class TestHelpTest < ActionDispatch::SystemTestCase
  # Any driver that runs the app in a separate thread will test what we want here.
  driven_by :cuprite

  # Ensure this test uses this app instance
  setup { Rails.application = TestApp.instance }

  test "configures a shared adapter between tests and app" do
    Flipper.disable(:test)
    visit "/"
    assert_selector "*", text: "Disabled"

    Flipper.enable(:test)
    visit "/"
    assert_selector "*", text: "Enabled"
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
flipper-1.2.1 test_rails/system/test_help_test.rb
flipper-1.2.0 test_rails/system/test_help_test.rb