Merge pull request #5081 from betagouv/5074-bug-notif-instructeur
5074: send notif only to the right instructeurs
This commit is contained in:
commit
3a05d63fbd
3 changed files with 29 additions and 3 deletions
|
@ -153,7 +153,7 @@ module Users
|
|||
if passage_en_construction? && errors.blank?
|
||||
@dossier.en_construction!
|
||||
NotificationMailer.send_initiated_notification(@dossier).deliver_later
|
||||
@dossier.procedure.instructeurs.with_instant_email_dossier_notifications.each do |instructeur|
|
||||
@dossier.groupe_instructeur.instructeurs.with_instant_email_dossier_notifications.each do |instructeur|
|
||||
DossierMailer.notify_new_dossier_depose_to_instructeur(@dossier, instructeur.email).deliver_later
|
||||
end
|
||||
return redirect_to(merci_dossier_path(@dossier))
|
||||
|
|
|
@ -454,6 +454,28 @@ describe Users::DossiersController, type: :controller do
|
|||
end
|
||||
end
|
||||
|
||||
context 'with procedure routee' do
|
||||
let(:procedure) { create(:procedure, :routee, :with_type_de_champ) }
|
||||
let(:dossier_group) { create(:groupe_instructeur, procedure: procedure) }
|
||||
let(:another_group) { create(:groupe_instructeur, procedure: procedure) }
|
||||
let(:instructeur_of_dossier) { create(:instructeur) }
|
||||
let(:instructeur_in_another_group) { create(:instructeur) }
|
||||
let!(:dossier) { create(:dossier, groupe_instructeur: dossier_group, user: user) }
|
||||
|
||||
before do
|
||||
allow(DossierMailer).to receive(:notify_new_dossier_depose_to_instructeur).and_return(double(deliver_later: nil))
|
||||
create(:assign_to, instructeur: instructeur_of_dossier, procedure: dossier.procedure, instant_email_dossier_notifications_enabled: true, groupe_instructeur: dossier_group)
|
||||
create(:assign_to, instructeur: instructeur_in_another_group, procedure: dossier.procedure, instant_email_dossier_notifications_enabled: true, groupe_instructeur: another_group)
|
||||
end
|
||||
|
||||
it "sends notification mail to instructeurs in the correct group instructeur" do
|
||||
subject
|
||||
|
||||
expect(DossierMailer).to have_received(:notify_new_dossier_depose_to_instructeur).once.with(dossier, instructeur_of_dossier.email)
|
||||
expect(DossierMailer).not_to have_received(:notify_new_dossier_depose_to_instructeur).with(dossier, instructeur_in_another_group.email)
|
||||
end
|
||||
end
|
||||
|
||||
context "on an closed procedure" do
|
||||
before { dossier.procedure.close! }
|
||||
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
FactoryBot.define do
|
||||
factory :assign_to do
|
||||
after(:build) do |assign_to, _evaluator|
|
||||
assign_to.groupe_instructeur = assign_to.procedure.defaut_groupe_instructeur
|
||||
after(:build) do |assign_to, evaluator|
|
||||
if evaluator.groupe_instructeur.persisted?
|
||||
assign_to.groupe_instructeur = evaluator.groupe_instructeur
|
||||
else
|
||||
assign_to.groupe_instructeur = assign_to.procedure.defaut_groupe_instructeur
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue