From 2b1f31081750444a5f80a399ae2070d6047f740d Mon Sep 17 00:00:00 2001 From: Joaquin Correa Date: Thu, 27 Feb 2025 11:32:18 -0300 Subject: [PATCH 1/3] Add flag to remove synaccess rev a relay option --- app/helpers/products_helper.rb | 12 +++++++----- config/settings.yml | 1 + spec/helpers/products_helper_spec.rb | 27 +++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 5 deletions(-) create mode 100644 spec/helpers/products_helper_spec.rb diff --git a/app/helpers/products_helper.rb b/app/helpers/products_helper.rb index 5dce81c48e..ea3a71a14d 100644 --- a/app/helpers/products_helper.rb +++ b/app/helpers/products_helper.rb @@ -20,11 +20,13 @@ def options_for_control_mechanism end def options_for_relay - { - RelaySynaccessRevA => RelaySynaccessRevA.name, - RelaySynaccessRevB => RelaySynaccessRevB.name, - RelayDataprobe => RelayDataprobe.name, - } + [ + !SettingsHelper.feature_on?(:disable_relay_synaccess_rev_a) && [ + RelaySynaccessRevA, RelaySynaccessRevA.name + ], + [RelaySynaccessRevB, RelaySynaccessRevB.name], + [RelayDataprobe, RelayDataprobe.name], + ].select(&:itself) 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 From 51654ec7a8cc7bef178bbb6fb43bd873d91730ed Mon Sep 17 00:00:00 2001 From: Joaquin Correa Date: Fri, 28 Feb 2025 10:05:12 -0300 Subject: [PATCH 2/3] Rewrite conditional element in list --- app/helpers/products_helper.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/helpers/products_helper.rb b/app/helpers/products_helper.rb index ea3a71a14d..6db403cc75 100644 --- a/app/helpers/products_helper.rb +++ b/app/helpers/products_helper.rb @@ -21,12 +21,12 @@ def options_for_control_mechanism def options_for_relay [ - !SettingsHelper.feature_on?(:disable_relay_synaccess_rev_a) && [ + SettingsHelper.feature_on?(:disable_relay_synaccess_rev_a) ? nil : [ RelaySynaccessRevA, RelaySynaccessRevA.name ], [RelaySynaccessRevB, RelaySynaccessRevB.name], [RelayDataprobe, RelayDataprobe.name], - ].select(&:itself) + ].compact end def instrument_pricing_modes From e65278b4070467f452f27e3b7500fad835313589 Mon Sep 17 00:00:00 2001 From: Joaquin Correa Date: Fri, 28 Feb 2025 10:07:03 -0300 Subject: [PATCH 3/3] Rewrite multiline ternary operator --- app/helpers/products_helper.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/helpers/products_helper.rb b/app/helpers/products_helper.rb index 6db403cc75..ff1ed96b8d 100644 --- a/app/helpers/products_helper.rb +++ b/app/helpers/products_helper.rb @@ -21,9 +21,11 @@ def options_for_control_mechanism def options_for_relay [ - SettingsHelper.feature_on?(:disable_relay_synaccess_rev_a) ? nil : [ - RelaySynaccessRevA, RelaySynaccessRevA.name - ], + if SettingsHelper.feature_on?(:disable_relay_synaccess_rev_a) + nil + else + [RelaySynaccessRevA, RelaySynaccessRevA.name] + end, [RelaySynaccessRevB, RelaySynaccessRevB.name], [RelayDataprobe, RelayDataprobe.name], ].compact