From 05b28fb75d93fd711f5fd323936f82410362d0fb Mon Sep 17 00:00:00 2001 From: Eric Leroy-Terquem Date: Fri, 8 Nov 2024 15:08:12 +0100 Subject: [PATCH] feat(routing): add flash modal after simple routing configurated --- .../groupes_management_component.html.haml | 2 ++ .../groupe_instructeurs_controller.rb | 3 ++- .../_simple_routing_modal.html.haml | 14 ++++++++++++++ .../groupe_instructeurs_controller_spec.rb | 14 +++++++------- spec/system/routing/rules_full_scenario_spec.rb | 2 ++ 5 files changed, 27 insertions(+), 8 deletions(-) create mode 100644 app/views/administrateurs/groupe_instructeurs/_simple_routing_modal.html.haml diff --git a/app/components/procedure/groupes_management_component/groupes_management_component.html.haml b/app/components/procedure/groupes_management_component/groupes_management_component.html.haml index 7548d6da0..2e6bc12fe 100644 --- a/app/components/procedure/groupes_management_component/groupes_management_component.html.haml +++ b/app/components/procedure/groupes_management_component/groupes_management_component.html.haml @@ -53,3 +53,5 @@ - if flash[:routing_mode] == 'custom' = render partial: 'custom_routing_modal' +- elsif flash[:routing_mode] == 'simple' + = render partial: 'simple_routing_modal', locals: { procedure: @procedure } diff --git a/app/controllers/administrateurs/groupe_instructeurs_controller.rb b/app/controllers/administrateurs/groupe_instructeurs_controller.rb index fa76101ed..43ab472fe 100644 --- a/app/controllers/administrateurs/groupe_instructeurs_controller.rb +++ b/app/controllers/administrateurs/groupe_instructeurs_controller.rb @@ -88,7 +88,8 @@ module Administrateurs defaut.destroy! end - flash.notice = 'Les groupes instructeurs ont été ajoutés' + flash[:routing_mode] = 'simple' + redirect_to admin_procedure_groupe_instructeurs_path(@procedure) end diff --git a/app/views/administrateurs/groupe_instructeurs/_simple_routing_modal.html.haml b/app/views/administrateurs/groupe_instructeurs/_simple_routing_modal.html.haml new file mode 100644 index 000000000..d652983a9 --- /dev/null +++ b/app/views/administrateurs/groupe_instructeurs/_simple_routing_modal.html.haml @@ -0,0 +1,14 @@ +%dialog{ aria: { labelledby: "fr-modal-title-modal-1" }, role: "dialog", id: "routing-mode-modal", class: "fr-modal fr-modal--opened" } + .fr-container.fr-container--fluid.fr-container-md + .fr-grid-row.fr-grid-row--center + .fr-col-12.fr-col-md-8.fr-col-lg-6 + .fr-modal__body + .fr-modal__header + %button.fr-btn.fr-btn--close{ title: "Fermer la fenêtre modale", aria: { controls: "routing-mode-modal" } } Fermer + .fr-modal__content + %h1#fr-modal-title-modal-1.fr-modal__title + %span.fr-icon-arrow-right-line.fr-icon--lg + Routage à partir d’un champ + .fr-alert.fr-alert--success + %h2.fr-alert__title + Les groupes instructeurs ont été créés à partir du champ « #{procedure.routing_champs.first} » diff --git a/spec/controllers/administrateurs/groupe_instructeurs_controller_spec.rb b/spec/controllers/administrateurs/groupe_instructeurs_controller_spec.rb index 7b4e54ba1..37c55a6d5 100644 --- a/spec/controllers/administrateurs/groupe_instructeurs_controller_spec.rb +++ b/spec/controllers/administrateurs/groupe_instructeurs_controller_spec.rb @@ -918,7 +918,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do it do expect(response).to redirect_to(admin_procedure_groupe_instructeurs_path(procedure3)) - expect(flash.notice).to eq 'Les groupes instructeurs ont été ajoutés' + expect(flash[:routing_mode]).to eq 'simple' expect(procedure3.groupe_instructeurs.pluck(:label)).to match_array(['Paris', 'Lyon', 'Marseille']) expect(procedure3.reload.defaut_groupe_instructeur.routing_rule).to eq(ds_eq(champ_value(drop_down_tdc.stable_id), constant('Lyon'))) expect(procedure3.routing_enabled).to be_truthy @@ -938,7 +938,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do it do expect(response).to redirect_to(admin_procedure_groupe_instructeurs_path(procedure3)) - expect(flash.notice).to eq 'Les groupes instructeurs ont été ajoutés' + expect(flash[:routing_mode]).to eq 'simple' expect(procedure3.groupe_instructeurs.pluck(:label)).to include("01 – Ain") expect(procedure3.reload.defaut_groupe_instructeur.routing_rule).to eq(ds_eq(champ_value(departements_tdc.stable_id), constant('01'))) expect(procedure3.routing_enabled).to be_truthy @@ -958,7 +958,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do it do expect(response).to redirect_to(admin_procedure_groupe_instructeurs_path(procedure3)) - expect(flash.notice).to eq 'Les groupes instructeurs ont été ajoutés' + expect(flash[:routing_mode]).to eq 'simple' expect(procedure3.groupe_instructeurs.pluck(:label)).to include("Guadeloupe") expect(procedure3.reload.defaut_groupe_instructeur.routing_rule).to eq(ds_eq(champ_value(regions_tdc.stable_id), constant('84'))) expect(procedure3.routing_enabled).to be_truthy @@ -978,7 +978,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do it do expect(response).to redirect_to(admin_procedure_groupe_instructeurs_path(procedure3)) - expect(flash.notice).to eq 'Les groupes instructeurs ont été ajoutés' + expect(flash[:routing_mode]).to eq 'simple' expect(procedure3.groupe_instructeurs.pluck(:label)).to include("AD – Andorre") expect(procedure3.reload.defaut_groupe_instructeur.routing_rule).to eq(ds_eq(champ_value(pays_tdc.stable_id), constant('AD'))) expect(procedure3.routing_enabled).to be_truthy @@ -998,7 +998,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do it do expect(response).to redirect_to(admin_procedure_groupe_instructeurs_path(procedure3)) - expect(flash.notice).to eq 'Les groupes instructeurs ont été ajoutés' + expect(flash[:routing_mode]).to eq 'simple' expect(procedure3.groupe_instructeurs.pluck(:label)).to include("01 – Ain") expect(procedure3.reload.defaut_groupe_instructeur.routing_rule).to eq(ds_in_departement(champ_value(communes_tdc.stable_id), constant('01'))) expect(procedure3.routing_enabled).to be_truthy @@ -1018,7 +1018,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do it do expect(response).to redirect_to(admin_procedure_groupe_instructeurs_path(procedure3)) - expect(flash.notice).to eq 'Les groupes instructeurs ont été ajoutés' + expect(flash[:routing_mode]).to eq 'simple' expect(procedure3.groupe_instructeurs.pluck(:label)).to include("01 – Ain") expect(procedure3.reload.defaut_groupe_instructeur.routing_rule).to eq(ds_in_departement(champ_value(epci_tdc.stable_id), constant('01'))) expect(procedure3.routing_enabled).to be_truthy @@ -1038,7 +1038,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do it do expect(response).to redirect_to(admin_procedure_groupe_instructeurs_path(procedure3)) - expect(flash.notice).to eq 'Les groupes instructeurs ont été ajoutés' + expect(flash[:routing_mode]).to eq 'simple' expect(procedure3.groupe_instructeurs.pluck(:label)).to include("01 – Ain") expect(procedure3.reload.defaut_groupe_instructeur.routing_rule).to eq(ds_in_departement(champ_value(address_tdc.stable_id), constant('01'))) expect(procedure3.routing_enabled).to be_truthy diff --git a/spec/system/routing/rules_full_scenario_spec.rb b/spec/system/routing/rules_full_scenario_spec.rb index 56e1c7942..094a284a7 100644 --- a/spec/system/routing/rules_full_scenario_spec.rb +++ b/spec/system/routing/rules_full_scenario_spec.rb @@ -33,6 +33,8 @@ describe 'The routing with rules', js: true do expect(page).to have_text('3 groupes') expect(page).not_to have_text('à configurer') + within("#routing-mode-modal") { click_on "Fermer" } + click_on 'littéraire' expect(page).to have_select("groupe_instructeur[condition_form][rows][][targeted_champ]", selected: "Spécialité") expect(page).to have_select("groupe_instructeur[condition_form][rows][][value]", selected: "littéraire")