diff --git a/app/services/mail_template_presenter_service.rb b/app/services/mail_template_presenter_service.rb
index 26fa043ab..b0e9db3bb 100644
--- a/app/services/mail_template_presenter_service.rb
+++ b/app/services/mail_template_presenter_service.rb
@@ -3,9 +3,13 @@ class MailTemplatePresenterService
include ActionView::Helpers::TextHelper
def self.create_commentaire_for_state(dossier, state)
- service = new(dossier, state)
- body = ["
[#{service.safe_subject}]
", service.safe_body].join('')
- CommentaireService.create!(CONTACT_EMAIL, dossier, body: body)
+ if dossier.procedure.accuse_lecture? && Dossier::TERMINE.include?(state)
+ CommentaireService.create!(CONTACT_EMAIL, dossier, body: I18n.t('layouts.mailers.accuse_lecture.commentaire_html', service: dossier.procedure.service.nom))
+ else
+ service = new(dossier, state)
+ body = ["[#{service.safe_subject}]
", service.safe_body].join('')
+ CommentaireService.create!(CONTACT_EMAIL, dossier, body: body)
+ end
end
def safe_body
diff --git a/config/locales/views/layouts/mailers/en.yml b/config/locales/views/layouts/mailers/en.yml
index f683354e7..82eb15a7f 100644
--- a/config/locales/views/layouts/mailers/en.yml
+++ b/config/locales/views/layouts/mailers/en.yml
@@ -24,3 +24,9 @@ en:
accepte: has been accepted on %{processed_at}.
refuse: has been refused on %{processed_at}.
sans_suite: has been closed without continuation on %{processed_at}.
+ accuse_lecture:
+ good_morning: Hello,
+ first_part: We inform you that a decision on file no. %{dossier_id} of the procedure
+ second_part: has been rendered.
+ third_part: To find out its nature, please log in to your account
+ commentaire_html: Hello,
We inform you that a decision on your file has been rendered.
Sincerely,
%{service}
diff --git a/config/locales/views/layouts/mailers/fr.yml b/config/locales/views/layouts/mailers/fr.yml
index 03d65b696..d01d57a9d 100644
--- a/config/locales/views/layouts/mailers/fr.yml
+++ b/config/locales/views/layouts/mailers/fr.yml
@@ -30,6 +30,7 @@ fr:
first_part: Nous vous informons qu'une décision sur le dossier nº %{dossier_id} de la démarche
second_part: a été rendue.
third_part: Pour en connaitre la nature, veuillez vous connecter à votre compte
+ commentaire_html: Bonjour,
Nous vous informons qu'une décision sur votre dossier a été rendue.
Cordialement,
%{service}
commentaire_groupe_gestionnaire_footer:
do_not_reply_html: Merci de ne pas répondre à cet email. Consultez votre message sur %{application_name} ou contactez votre expéditeur par mail
diff --git a/spec/controllers/instructeurs/dossiers_controller_spec.rb b/spec/controllers/instructeurs/dossiers_controller_spec.rb
index 9e3a99d76..f72f52003 100644
--- a/spec/controllers/instructeurs/dossiers_controller_spec.rb
+++ b/spec/controllers/instructeurs/dossiers_controller_spec.rb
@@ -398,6 +398,11 @@ describe Instructeurs::DossiersController, type: :controller do
end
it { expect(subject.body).to include('header-top') }
+
+ it 'creates a commentaire' do
+ expect { subject }.to change { Commentaire.count }.by(1)
+ expect(dossier_accuse_lecture.commentaires.last.body).to eq("Bonjour,
Nous vous informons qu'une décision sur votre dossier a été rendue.
Cordialement,
#{procedure_accuse_lecture.service.nom}")
+ end
end
end
diff --git a/spec/mailers/notification_mailer_spec.rb b/spec/mailers/notification_mailer_spec.rb
index aa61447aa..2101b1ec7 100644
--- a/spec/mailers/notification_mailer_spec.rb
+++ b/spec/mailers/notification_mailer_spec.rb
@@ -30,8 +30,7 @@ RSpec.describe NotificationMailer, type: :mailer do
end
describe 'send_accuse_lecture_notification' do
- let(:dossier) { create(:dossier, :en_construction, procedure: create(:procedure, :accuse_lecture)) }
-
+ let(:dossier) { create(:dossier, :accepte, procedure: create(:procedure, :accuse_lecture)) }
subject { described_class.send_accuse_lecture_notification(dossier) }
it { expect(subject.subject).to include("La décision a été rendue pour votre démarche #{dossier.procedure.libelle}") }