diff --git a/app/helpers/products_helper.rb b/app/helpers/products_helper.rb index 5dce81c48e..ff1ed96b8d 100644 --- a/app/helpers/products_helper.rb +++ b/app/helpers/products_helper.rb @@ -20,11 +20,15 @@ def options_for_control_mechanism end def options_for_relay - { - RelaySynaccessRevA => RelaySynaccessRevA.name, - RelaySynaccessRevB => RelaySynaccessRevB.name, - RelayDataprobe => RelayDataprobe.name, - } + [ + if SettingsHelper.feature_on?(:disable_relay_synaccess_rev_a) + nil + else + [RelaySynaccessRevA, RelaySynaccessRevA.name] + end, + [RelaySynaccessRevB, RelaySynaccessRevB.name], + [RelayDataprobe, RelayDataprobe.name], + ].compact end def instrument_pricing_modes diff --git a/config/settings.yml b/config/settings.yml index 781b69fa5e..3996548ce6 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -162,6 +162,7 @@ feature: show_daily_rate_option: true sanger_enabled_service: <%= ENV.fetch("SANGER_ENABLED_SERVICE", false) %> well_plate_alternative_csv_format: <%= ENV.fetch("well_plate_alternative_csv_format", false) %> + disable_relay_synaccess_rev_a: false split_accounts: # Roles are allowed to create Split Accounts diff --git a/spec/helpers/products_helper_spec.rb b/spec/helpers/products_helper_spec.rb new file mode 100644 index 0000000000..b31bdd606c --- /dev/null +++ b/spec/helpers/products_helper_spec.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +require "rails_helper" + +RSpec.describe ProductsHelper do + describe "#options_for_relay" do + let(:subject) { options_for_relay } + + it( + "list all relay types if none disabled", + { feature_setting: { disable_relay_synaccess_rev_a: false } } + ) do + expect(subject.to_h).to include( + RelaySynaccessRevA, + RelaySynaccessRevB, + RelayDataprobe + ) + end + + it( + "exclude synaccess rev a if disabled flag is on", + { feature_setting: { disable_relay_synaccess_rev_a: true } } + ) do + expect(subject.to_h).to_not include(RelaySynaccessRevA) + end + end +end