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}") }