Module: RailsFeatureFlip::TestHelper

Defined in:
lib/rails_feature_flip/test_helper.rb

Overview

Test helper for temporarily overriding feature values in tests.

Examples:

Include in your test class

class MyTest < ActiveSupport::TestCase
  include RailsFeatureFlip::TestHelper

  test "shows widget when enabled" do
    with_feature(:help_center, enabled: true) do
      # test code that checks feature behavior
    end
  end
end

Instance Method Summary collapse

Instance Method Details

#with_feature(name, **overrides) { ... } ⇒ Object

Temporarily overrides attributes on a feature and restores them after the block.

Parameters:

  • name (Symbol, String) —

    the feature name

  • overrides (Hash) —

    attribute values to set (e.g. enabled: true)

Yields:

  • the block to execute with the overridden feature values



22
23
24
25
26
27
28
# File 'lib/rails_feature_flip/test_helper.rb', line 22

def with_feature(name, **overrides)
  feature = Rails.configuration.x.features.public_send(name)
  originals = save_feature_state(feature, overrides)
  yield
ensure
  restore_feature_state(feature, originals)
end