feat(DossierAssignment): create assignments when admin reaffect all dossiers
This commit is contained in:
parent
082db0ed02
commit
96d17d03ec
2 changed files with 33 additions and 1 deletions
|
@ -215,9 +215,17 @@ module Administrateurs
|
|||
end
|
||||
|
||||
def reaffecter_all_dossiers_to_defaut_groupe
|
||||
defaut_groupe = procedure.defaut_groupe_instructeur
|
||||
procedure.groupe_instructeurs_but_defaut.each do |gi|
|
||||
gi.dossiers.find_each do |dossier|
|
||||
dossier.assign_to_groupe_instructeur(procedure.defaut_groupe_instructeur, current_administrateur)
|
||||
previous_group = dossier.groupe_instructeur
|
||||
dossier.assign_to_groupe_instructeur(defaut_groupe, current_administrateur)
|
||||
dossier.create_assignment(
|
||||
DossierAssignment.modes.fetch(:manual),
|
||||
previous_group,
|
||||
defaut_groupe,
|
||||
current_administrateur.email
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -234,6 +234,30 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do
|
|||
end
|
||||
end
|
||||
|
||||
describe '#destroy_all_groups_but_defaut' do
|
||||
let!(:dossierA) { create(:dossier, :en_construction, :with_individual, procedure: procedure, groupe_instructeur: gi_1_2) }
|
||||
let!(:dossierB) { create(:dossier, :en_construction, :with_individual, procedure: procedure, groupe_instructeur: gi_1_2) }
|
||||
|
||||
before do
|
||||
post :destroy_all_groups_but_defaut,
|
||||
params: {
|
||||
procedure_id: procedure.id
|
||||
}
|
||||
dossierA.reload
|
||||
dossierB.reload
|
||||
end
|
||||
|
||||
it do
|
||||
expect(dossierA.groupe_instructeur.id).to be(procedure.defaut_groupe_instructeur.id)
|
||||
expect(dossierB.groupe_instructeur.id).to be(procedure.defaut_groupe_instructeur.id)
|
||||
expect(dossierA.dossier_assignment.dossier_id).to be(dossierA.id)
|
||||
expect(dossierB.dossier_assignment.dossier_id).to be(dossierB.id)
|
||||
expect(dossierA.dossier_assignment.groupe_instructeur_id).to be(procedure.defaut_groupe_instructeur.id)
|
||||
expect(dossierB.dossier_assignment.groupe_instructeur_id).to be(procedure.defaut_groupe_instructeur.id)
|
||||
expect(dossierA.dossier_assignment.assigned_by).to eq(admin.email)
|
||||
expect(dossierB.dossier_assignment.assigned_by).to eq(admin.email)
|
||||
end
|
||||
end
|
||||
describe '#update' do
|
||||
let(:new_name) { 'nouveau nom du groupe' }
|
||||
let!(:procedure_non_routee) { create(:procedure, :published, :for_individual, administrateurs: [admin]) }
|
||||
|
|
Loading…
Reference in a new issue