feat(routing): add flash modal after simple routing configurated

This commit is contained in:
Eric Leroy-Terquem 2024-11-08 15:08:12 +01:00
parent b006a87730
commit 05b28fb75d
No known key found for this signature in database
GPG key ID: 53D8FAECEF207605
5 changed files with 27 additions and 8 deletions

View file

@ -53,3 +53,5 @@
- if flash[:routing_mode] == 'custom' - if flash[:routing_mode] == 'custom'
= render partial: 'custom_routing_modal' = render partial: 'custom_routing_modal'
- elsif flash[:routing_mode] == 'simple'
= render partial: 'simple_routing_modal', locals: { procedure: @procedure }

View file

@ -88,7 +88,8 @@ module Administrateurs
defaut.destroy! defaut.destroy!
end end
flash.notice = 'Les groupes instructeurs ont été ajoutés' flash[:routing_mode] = 'simple'
redirect_to admin_procedure_groupe_instructeurs_path(@procedure) redirect_to admin_procedure_groupe_instructeurs_path(@procedure)
end end

View file

@ -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 dun champ
.fr-alert.fr-alert--success
%h2.fr-alert__title
Les groupes instructeurs ont été créés à partir du champ « #{procedure.routing_champs.first} »

View file

@ -918,7 +918,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do
it do it do
expect(response).to redirect_to(admin_procedure_groupe_instructeurs_path(procedure3)) 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.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.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 expect(procedure3.routing_enabled).to be_truthy
@ -938,7 +938,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do
it do it do
expect(response).to redirect_to(admin_procedure_groupe_instructeurs_path(procedure3)) 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.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.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 expect(procedure3.routing_enabled).to be_truthy
@ -958,7 +958,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do
it do it do
expect(response).to redirect_to(admin_procedure_groupe_instructeurs_path(procedure3)) 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.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.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 expect(procedure3.routing_enabled).to be_truthy
@ -978,7 +978,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do
it do it do
expect(response).to redirect_to(admin_procedure_groupe_instructeurs_path(procedure3)) 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.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.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 expect(procedure3.routing_enabled).to be_truthy
@ -998,7 +998,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do
it do it do
expect(response).to redirect_to(admin_procedure_groupe_instructeurs_path(procedure3)) 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.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.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 expect(procedure3.routing_enabled).to be_truthy
@ -1018,7 +1018,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do
it do it do
expect(response).to redirect_to(admin_procedure_groupe_instructeurs_path(procedure3)) 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.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.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 expect(procedure3.routing_enabled).to be_truthy
@ -1038,7 +1038,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do
it do it do
expect(response).to redirect_to(admin_procedure_groupe_instructeurs_path(procedure3)) 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.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.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 expect(procedure3.routing_enabled).to be_truthy

View file

@ -33,6 +33,8 @@ describe 'The routing with rules', js: true do
expect(page).to have_text('3 groupes') expect(page).to have_text('3 groupes')
expect(page).not_to have_text('à configurer') expect(page).not_to have_text('à configurer')
within("#routing-mode-modal") { click_on "Fermer" }
click_on 'littéraire' 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][][targeted_champ]", selected: "Spécialité")
expect(page).to have_select("groupe_instructeur[condition_form][rows][][value]", selected: "littéraire") expect(page).to have_select("groupe_instructeur[condition_form][rows][][value]", selected: "littéraire")