Reassign discarded dossiers on group_instructeur

fix #4851
This commit is contained in:
Paul Chavard 2020-04-01 11:10:25 +02:00
parent d55535b237
commit c0bbfa42b7
3 changed files with 12 additions and 5 deletions

View file

@ -71,7 +71,7 @@ module NewAdministrateur
def reaffecter
target_group = procedure.groupe_instructeurs.find(params[:target_group])
groupe_instructeur.dossiers.find_each do |dossier|
groupe_instructeur.dossiers.with_discarded.find_each do |dossier|
dossier.assign_to_groupe_instructeur(target_group, current_administrateur)
end

View file

@ -759,7 +759,9 @@ class Dossier < ApplicationRecord
followers_instructeurs.each do |instructeur|
if instructeur.groupe_instructeurs.exclude?(groupe_instructeur)
instructeur.unfollow(self)
DossierMailer.notify_groupe_instructeur_changed(instructeur, self).deliver_later
if kept?
DossierMailer.notify_groupe_instructeur_changed(instructeur, self).deliver_later
end
end
end
end

View file

@ -121,7 +121,12 @@ describe NewAdministrateur::GroupeInstructeursController, type: :controller do
describe '#reaffecter' do
let!(:gi_1_2) { procedure.groupe_instructeurs.create(label: 'groupe instructeur 2') }
let!(:dossier12) { create(:dossier, procedure: procedure, state: Dossier.states.fetch(:en_construction), groupe_instructeur: gi_1_1) }
let!(:dossier12) { create(:dossier, :en_construction, procedure: procedure, groupe_instructeur: gi_1_1) }
let!(:dossier_discarded) do
dossier = create(:dossier, :en_construction, procedure: procedure, groupe_instructeur: gi_1_1)
dossier.discard!
dossier
end
describe 'when the new group is a group of the procedure' do
before do
@ -135,8 +140,8 @@ describe NewAdministrateur::GroupeInstructeursController, type: :controller do
end
it { expect(response).to redirect_to(procedure_groupe_instructeurs_path(procedure)) }
it { expect(gi_1_1.dossiers.count).to be(0) }
it { expect(gi_1_2.dossiers.count).to be(1) }
it { expect(gi_1_1.dossiers.with_discarded.count).to be(0) }
it { expect(gi_1_2.dossiers.with_discarded.count).to be(2) }
it { expect(gi_1_2.dossiers.last.id).to be(dossier12.id) }
it { expect(dossier12.groupe_instructeur.id).to be(gi_1_2.id) }
end