From 3c7018fd3129baeb78364f82eea24c192deb089d Mon Sep 17 00:00:00 2001 From: Colin Darie Date: Mon, 8 Apr 2024 21:45:04 +0200 Subject: [PATCH] fix: don't set preferred domain on signup/signin unless feature is enabled --- app/controllers/users/registrations_controller.rb | 2 +- app/controllers/users/sessions_controller.rb | 2 +- app/models/concerns/domain_migratable_concern.rb | 14 ++++++-------- .../users/registrations_controller_spec.rb | 7 ++++++- spec/controllers/users/sessions_controller_spec.rb | 7 ++++++- 5 files changed, 20 insertions(+), 12 deletions(-) diff --git a/app/controllers/users/registrations_controller.rb b/app/controllers/users/registrations_controller.rb index ee00ffd8d..1b1d29882 100644 --- a/app/controllers/users/registrations_controller.rb +++ b/app/controllers/users/registrations_controller.rb @@ -40,7 +40,7 @@ class Users::RegistrationsController < Devise::RegistrationsController end super do - resource.update_preferred_domain(Current.host) if resource.valid? + resource.update_preferred_domain(Current.host) if resource.valid? && helpers.switch_domain_enabled?(request) end end diff --git a/app/controllers/users/sessions_controller.rb b/app/controllers/users/sessions_controller.rb index f76e21fdc..cea470c43 100644 --- a/app/controllers/users/sessions_controller.rb +++ b/app/controllers/users/sessions_controller.rb @@ -13,7 +13,7 @@ class Users::SessionsController < Devise::SessionsController if user&.valid_password?(params[:user][:password]) user.update(loged_in_with_france_connect: nil) - user.update_preferred_domain(Current.host) + user.update_preferred_domain(Current.host) if helpers.switch_domain_enabled?(request) end super diff --git a/app/models/concerns/domain_migratable_concern.rb b/app/models/concerns/domain_migratable_concern.rb index a207af077..65be5f723 100644 --- a/app/models/concerns/domain_migratable_concern.rb +++ b/app/models/concerns/domain_migratable_concern.rb @@ -7,14 +7,12 @@ module DomainMigratableConcern validates :preferred_domain, inclusion: { in: User.preferred_domains.keys, allow_nil: true } def update_preferred_domain(host) - # DIRTY FIX - # - # case host - # when ApplicationHelper::APP_HOST - # preferred_domain_demarches_gouv_fr! - # when ApplicationHelper::APP_HOST_LEGACY - # preferred_domain_demarches_simplifiees_fr! - # end + case host + when ApplicationHelper::APP_HOST + preferred_domain_demarches_gouv_fr! + when ApplicationHelper::APP_HOST_LEGACY + preferred_domain_demarches_simplifiees_fr! + end end end end diff --git a/spec/controllers/users/registrations_controller_spec.rb b/spec/controllers/users/registrations_controller_spec.rb index 32de28c4d..c55f407fd 100644 --- a/spec/controllers/users/registrations_controller_spec.rb +++ b/spec/controllers/users/registrations_controller_spec.rb @@ -44,6 +44,11 @@ describe Users::RegistrationsController, type: :controller do before do allow(Current).to receive(:host).and_return(ENV.fetch("APP_HOST")) + Flipper.enable(:switch_domain) + end + + after do + Flipper.disable(:switch_domain) end context 'when user is correct' do @@ -54,7 +59,7 @@ describe Users::RegistrationsController, type: :controller do subject - # expect(User.last.preferred_domain_demarches_gouv_fr?).to be_truthy + expect(User.last.preferred_domain_demarches_gouv_fr?).to be_truthy end end diff --git a/spec/controllers/users/sessions_controller_spec.rb b/spec/controllers/users/sessions_controller_spec.rb index 6cd0d457f..edec54842 100644 --- a/spec/controllers/users/sessions_controller_spec.rb +++ b/spec/controllers/users/sessions_controller_spec.rb @@ -69,12 +69,17 @@ describe Users::SessionsController, type: :controller do context 'when user has not yet a preferred domain' do before do allow(Current).to receive(:host).and_return(ENV.fetch("APP_HOST")) + Flipper.enable(:switch_domain) + end + + after do + Flipper.disable(:switch_domain) end it 'update preferred domain' do subject - # expect(user.reload.preferred_domain_demarches_gouv_fr?).to be_truthy + expect(user.reload.preferred_domain_demarches_gouv_fr?).to be_truthy end end end