From bac9f62132c370cbfd1c831f036b4501882cb2be Mon Sep 17 00:00:00 2001 From: Pau Perez Date: Fri, 9 Apr 2021 08:17:24 +0200 Subject: [PATCH 1/2] Enable customer_balance to all users This however makes the tests still pass, which rely on the off-branch logic of the toggle. We'll work on them next. --- config/initializers/feature_toggles.rb | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/config/initializers/feature_toggles.rb b/config/initializers/feature_toggles.rb index 1fc4ea977a..955ab2b08e 100644 --- a/config/initializers/feature_toggles.rb +++ b/config/initializers/feature_toggles.rb @@ -3,11 +3,7 @@ require 'open_food_network/feature_toggle' beta_testers = ENV['BETA_TESTERS']&.split(/[\s,]+/) || [] OpenFoodNetwork::FeatureToggle.enable(:customer_balance) do |user| - if beta_testers == ['all'] - true - else - beta_testers.include?(user.email) - end + !Rails.env.test? end OpenFoodNetwork::FeatureToggle.enable(:unit_price) do From 95f29e4252e9f8f95be7c3db65523a797c5b152d Mon Sep 17 00:00:00 2001 From: Pau Perez Date: Fri, 9 Apr 2021 10:22:21 +0200 Subject: [PATCH 2/2] Remove outdated initializer specs These no longer make sense since we're enabling customer_balance unconditionally. --- spec/initializers/feature_toggles_spec.rb | 65 ----------------------- 1 file changed, 65 deletions(-) delete mode 100644 spec/initializers/feature_toggles_spec.rb diff --git a/spec/initializers/feature_toggles_spec.rb b/spec/initializers/feature_toggles_spec.rb deleted file mode 100644 index 0433d4508b..0000000000 --- a/spec/initializers/feature_toggles_spec.rb +++ /dev/null @@ -1,65 +0,0 @@ -require 'spec_helper' - -describe 'config/initializers/feature_toggles.rb' do - # Executes the initializer's code block by reading the Ruby file. Note that `Kernel#require` would - # prevent this from happening twice. - subject(:execute_initializer) do - load Rails.root.join('config/initializers/feature_toggles.rb') - end - - let(:user) { build(:user) } - - around do |example| - original = ENV['BETA_TESTERS'] - example.run - ENV['BETA_TESTERS'] = original - end - - context 'when beta_testers is ["all"]' do - before { ENV['BETA_TESTERS'] = 'all' } - - it 'returns true' do - execute_initializer - - enabled = OpenFoodNetwork::FeatureToggle.enabled?(:customer_balance, user) - expect(enabled).to eq(true) - end - end - - context 'when beta_testers is a list of emails' do - let(:other_user) { build(:user) } - - context 'and the user is in the list' do - before { ENV['BETA_TESTERS'] = "#{user.email}, #{other_user.email}" } - - it 'enables the feature' do - execute_initializer - - enabled = OpenFoodNetwork::FeatureToggle.enabled?(:customer_balance, user) - expect(enabled).to eq(true) - end - end - - context 'and the user is not in the list' do - before { ENV['BETA_TESTERS'] = "#{other_user.email}" } - - it 'disables the feature' do - execute_initializer - - enabled = OpenFoodNetwork::FeatureToggle.enabled?(:customer_balance, user) - expect(enabled).to eq(false) - end - end - - context 'and the list is empty' do - before { ENV['BETA_TESTERS'] = '' } - - it 'disables the feature' do - execute_initializer - - enabled = OpenFoodNetwork::FeatureToggle.enabled?(:customer_balance, user) - expect(enabled).to eq(false) - end - end - end -end