From 082db0ed02368c7217f9f30c6861f477815dbe7f Mon Sep 17 00:00:00 2001 From: Eric Leroy-Terquem Date: Wed, 5 Jul 2023 11:13:01 +0200 Subject: [PATCH] feat(DossierAssignment): create Assignment when admin reaffect dossiers --- .../administrateurs/groupe_instructeurs_controller.rb | 7 +++++++ .../administrateurs/groupe_instructeurs_controller_spec.rb | 3 +++ 2 files changed, 10 insertions(+) diff --git a/app/controllers/administrateurs/groupe_instructeurs_controller.rb b/app/controllers/administrateurs/groupe_instructeurs_controller.rb index 6a1baeaee..b88ebef96 100644 --- a/app/controllers/administrateurs/groupe_instructeurs_controller.rb +++ b/app/controllers/administrateurs/groupe_instructeurs_controller.rb @@ -200,7 +200,14 @@ module Administrateurs target_group = procedure.groupe_instructeurs.find(params[:target_group]) reaffecter_bulk_messages(target_group) groupe_instructeur.dossiers.find_each do |dossier| + previous_group = dossier.groupe_instructeur dossier.assign_to_groupe_instructeur(target_group, current_administrateur) + dossier.create_assignment( + DossierAssignment.modes.fetch(:manual), + previous_group, + target_group, + current_administrateur.email + ) end flash[:notice] = "Les dossiers du groupe « #{groupe_instructeur.label} » ont été réaffectés au groupe « #{target_group.label} »." diff --git a/spec/controllers/administrateurs/groupe_instructeurs_controller_spec.rb b/spec/controllers/administrateurs/groupe_instructeurs_controller_spec.rb index e7152e9b5..f3a3e22c7 100644 --- a/spec/controllers/administrateurs/groupe_instructeurs_controller_spec.rb +++ b/spec/controllers/administrateurs/groupe_instructeurs_controller_spec.rb @@ -208,6 +208,9 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do it { expect(response).to redirect_to(admin_procedure_groupe_instructeurs_path(procedure)) } it { expect(gi_1_2.dossiers.last.id).to be(dossier12.id) } it { expect(dossier12.groupe_instructeur.id).to be(gi_1_2.id) } + it { expect(dossier12.dossier_assignment.dossier_id).to be(dossier12.id) } + it { expect(dossier12.dossier_assignment.groupe_instructeur_id).to be(gi_1_2.id) } + it { expect(dossier12.dossier_assignment.assigned_by).to eq(admin.email) } it { expect(bulk_message.groupe_instructeurs).to contain_exactly(gi_1_2, gi_1_3) } end