Merge pull request #4976 from tchak/fix-reassign-dossiers-group-instructeur

Reassign discarded dossiers on group_instructeur
This commit is contained in:
Paul Chavard 2020-04-01 18:30:29 +02:00 committed by GitHub
commit 533b16b6ea
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
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