diff --git a/app/models/instructeur.rb b/app/models/instructeur.rb index 38d2834da..21d00068e 100644 --- a/app/models/instructeur.rb +++ b/app/models/instructeur.rb @@ -110,8 +110,10 @@ class Instructeur < ApplicationRecord end def notifications_for_procedure(procedure, scope) - procedure - .defaut_groupe_instructeur.dossiers + target_groupes = groupe_instructeurs.where(procedure: procedure) + + Dossier + .where(groupe_instructeur: target_groupes) .send(scope) # :en_cours or :termine or :not_archived (or any other Dossier scope) .merge(followed_dossiers) .with_notifications diff --git a/spec/models/instructeur_spec.rb b/spec/models/instructeur_spec.rb index a17c8b341..37917bf18 100644 --- a/spec/models/instructeur_spec.rb +++ b/spec/models/instructeur_spec.rb @@ -236,15 +236,16 @@ describe Instructeur, type: :model do end describe '#notifications_for_procedure' do - let!(:dossier) { create(:dossier, :followed, state: Dossier.states.fetch(:en_construction)) } + let(:procedure) { create(:simple_procedure, :routee, :with_type_de_champ_private) } + let!(:dossier) { create(:dossier, :followed, groupe_instructeur: procedure.groupe_instructeurs.last, state: Dossier.states.fetch(:en_construction)) } let(:instructeur) { dossier.follows.first.instructeur } - let(:procedure) { dossier.procedure } - let!(:instructeur_2) { create(:instructeur, groupe_instructeurs: [procedure.defaut_groupe_instructeur]) } + let!(:instructeur_2) { create(:instructeur, groupe_instructeurs: [procedure.groupe_instructeurs.last]) } let!(:dossier_on_procedure_2) { create(:dossier, :followed, state: Dossier.states.fetch(:en_construction)) } let!(:instructeur_on_procedure_2) { dossier_on_procedure_2.follows.first.instructeur } before do + procedure.groupe_instructeurs.last.instructeurs << instructeur instructeur_2.followed_dossiers << dossier end