fix defaut_groupe_instructeur_id and change dossier.groupe_instructeur_id

This commit is contained in:
simon lehericey 2023-04-21 15:07:33 +02:00
parent 1539f66ff5
commit 439447b343
2 changed files with 29 additions and 0 deletions

View file

@ -8,8 +8,11 @@ namespace :after_party do
procedures.each do |p| procedures.each do |p|
if !p.defaut_groupe_instructeur_id.in?(p.groupe_instructeurs.map(&:id)) if !p.defaut_groupe_instructeur_id.in?(p.groupe_instructeurs.map(&:id))
wrong_groupe = p.defaut_groupe_instructeur
new_defaut_groupe = p.groupe_instructeurs.find_by(label: p.parent_procedure.defaut_groupe_instructeur.label) new_defaut_groupe = p.groupe_instructeurs.find_by(label: p.parent_procedure.defaut_groupe_instructeur.label)
p.update!(defaut_groupe_instructeur: new_defaut_groupe) p.update!(defaut_groupe_instructeur: new_defaut_groupe)
p.dossiers.where(groupe_instructeur: wrong_groupe).update_all(groupe_instructeur_id: new_defaut_groupe.id)
end end
end end

View file

@ -0,0 +1,26 @@
describe '20230421091957_fix_defaut_groupe_instructeur_id_for_cloned_procedure' do
let(:rake_task) { Rake::Task['after_party:fix_defaut_groupe_instructeur_id_for_cloned_procedure'] }
let!(:parent_procedure) { create(:procedure) }
let(:procedure) { create(:procedure, parent_procedure:) }
let(:dossier) { create(:dossier, procedure:) }
subject(:run_task) { rake_task.invoke }
after(:each) { rake_task.reenable }
it 'populates defaut_groupe_instructeur_id' do
procedure.update_columns(defaut_groupe_instructeur_id: parent_procedure.defaut_groupe_instructeur_id)
dossier
expect(procedure.defaut_groupe_instructeur_id.in?(procedure.groupe_instructeurs.ids)).to be false
expect(dossier.groupe_instructeur_id.in?(procedure.groupe_instructeurs.ids)).to be false
run_task
procedure.reload
dossier.reload
expect(procedure.defaut_groupe_instructeur_id.in?(procedure.groupe_instructeurs.ids)).to be true
expect(dossier.groupe_instructeur_id.in?(procedure.groupe_instructeurs.ids)).to be true
end
end