diff --git a/app/controllers/administrateurs/groupe_instructeurs_controller.rb b/app/controllers/administrateurs/groupe_instructeurs_controller.rb index c9ecd1563..4984e601e 100644 --- a/app/controllers/administrateurs/groupe_instructeurs_controller.rb +++ b/app/controllers/administrateurs/groupe_instructeurs_controller.rb @@ -60,6 +60,10 @@ module Administrateurs rule_operator = :ds_eq tdc_options = APIGeoService.regions.map { ["#{_1[:code]} – #{_1[:name]}", _1[:code]] } create_groups_from_territorial_tdc(tdc_options, stable_id, rule_operator) + when TypeDeChamp.type_champs.fetch(:pays) + rule_operator = :ds_eq + tdc_options = APIGeoService.countries.map { ["#{_1[:code]} – #{_1[:name]}", _1[:code]] } + create_groups_from_territorial_tdc(tdc_options, stable_id, rule_operator) when TypeDeChamp.type_champs.fetch(:drop_down_list) tdc_options = tdc.drop_down_options.reject(&:empty?) create_groups_from_drop_down_list_tdc(tdc_options, stable_id) diff --git a/app/models/type_de_champ.rb b/app/models/type_de_champ.rb index 79bfa7088..2c8e83406 100644 --- a/app/models/type_de_champ.rb +++ b/app/models/type_de_champ.rb @@ -115,6 +115,7 @@ class TypeDeChamp < ApplicationRecord type_champs.fetch(:communes), type_champs.fetch(:departements), type_champs.fetch(:regions), + type_champs.fetch(:pays), type_champs.fetch(:epci), type_champs.fetch(:address) ] diff --git a/spec/controllers/administrateurs/groupe_instructeurs_controller_spec.rb b/spec/controllers/administrateurs/groupe_instructeurs_controller_spec.rb index 6e4b823dc..0c6790606 100644 --- a/spec/controllers/administrateurs/groupe_instructeurs_controller_spec.rb +++ b/spec/controllers/administrateurs/groupe_instructeurs_controller_spec.rb @@ -959,6 +959,26 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do end end + context 'with a pays type de champ' do + let!(:procedure3) do + create(:procedure, + types_de_champ_public: [{ type: :pays }], + administrateurs: [admin]) + end + + let!(:pays_tdc) { procedure3.draft_revision.types_de_champ.first } + + before { post :create_simple_routing, params: { procedure_id: procedure3.id, create_simple_routing: { stable_id: pays_tdc.stable_id } } } + + 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(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 + end + end + context 'with a communes type de champ' do let!(:procedure3) do create(:procedure,