From c4ca381bed84608675b7507565122e6165e59127 Mon Sep 17 00:00:00 2001 From: seb-by-ouidou Date: Tue, 7 Nov 2023 13:53:32 +0000 Subject: [PATCH] feat: enable features on cloned procedure --- app/models/procedure.rb | 6 ++++++ spec/models/procedure_spec.rb | 22 ++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/app/models/procedure.rb b/app/models/procedure.rb index 47ab405a8..254bbf962 100644 --- a/app/models/procedure.rb +++ b/app/models/procedure.rb @@ -539,6 +539,12 @@ class Procedure < ApplicationRecord .find_by(label: defaut_groupe_instructeur.label) || procedure.groupe_instructeurs.first procedure.update!(defaut_groupe_instructeur: new_defaut_groupe) + Flipper.features.each do |feature| + if feature_enabled?(feature.key) + Flipper.enable(feature.key, procedure) + end + end + procedure end diff --git a/spec/models/procedure_spec.rb b/spec/models/procedure_spec.rb index 516d54eda..6713e456f 100644 --- a/spec/models/procedure_spec.rb +++ b/spec/models/procedure_spec.rb @@ -847,6 +847,28 @@ describe Procedure do expect(subject.canonical_procedure).to be_nil end end + + describe 'feature flag' do + context 'with a feature flag enabled' do + before do + Flipper.enable(:procedure_routage_api, procedure) + end + + it 'should enable feature' do + expect(subject.feature_enabled?(:procedure_routage_api)).to be true + end + end + + context 'with a feature flag disabled' do + before do + Flipper.disable(:procedure_routage_api, procedure) + end + + it 'should not enable feature' do + expect(subject.feature_enabled?(:procedure_routage_api)).to be false + end + end + end end describe '#publish!' do