admin: display CTA buttons in emails preview

This commit is contained in:
Pierre de La Morinerie 2019-07-23 13:26:55 +00:00
parent 1c837eb901
commit 2174172e34
3 changed files with 24 additions and 14 deletions

View file

@ -3,12 +3,14 @@ module NewAdministrateur
include ActionView::Helpers::SanitizeHelper include ActionView::Helpers::SanitizeHelper
def preview def preview
@procedure = procedure mail_template = find_mail_template_by_slug(params[:id])
dossier = Dossier.new(id: '1', procedure: procedure)
@dossier = dossier
@logo_url = procedure.logo.url @logo_url = procedure.logo.url
@service = procedure.service @service = procedure.service
mail_template = find_mail_template_by_slug(params[:id])
@rendered_template = sanitize(mail_template.body) @rendered_template = sanitize(mail_template.body)
@actions = mail_template.actions_for_dossier(dossier)
render(template: 'notification_mailer/send_notification', layout: 'mailers/notifications_layout') render(template: 'notification_mailer/send_notification', layout: 'mailers/notifications_layout')
end end
@ -16,16 +18,16 @@ module NewAdministrateur
private private
def procedure def procedure
@procedure = current_administrateur.procedures.find(params[:procedure_id]) @procedure ||= current_administrateur.procedures.find(params[:procedure_id])
end end
def mail_templates def mail_templates
[ [
@procedure.initiated_mail_template, procedure.initiated_mail_template,
@procedure.received_mail_template, procedure.received_mail_template,
@procedure.closed_mail_template, procedure.closed_mail_template,
@procedure.refused_mail_template, procedure.refused_mail_template,
@procedure.without_continuation_mail_template procedure.without_continuation_mail_template
] ]
end end

View file

@ -1,4 +1,4 @@
= vertical_margin(15) = vertical_margin(12)
- actions.each_with_index do |action, index| - actions.each_with_index do |action, index|
- variant = (index == 0 ? :primary : :secondary) - variant = (index == 0 ? :primary : :secondary)
@ -10,4 +10,4 @@
- when MailTemplateConcern::Actions::REPLY - when MailTemplateConcern::Actions::REPLY
= round_button('Répondre à ce message', messagerie_dossier_url(@dossier), variant) = round_button('Répondre à ce message', messagerie_dossier_url(@dossier), variant)
= vertical_margin(8) = vertical_margin(5)

View file

@ -13,9 +13,17 @@ describe NewAdministrateur::MailTemplatesController, type: :controller do
it { expect(response).to have_http_status(:ok) } it { expect(response).to have_http_status(:ok) }
it { expect(response.body).to have_css("img[src*='#{procedure.logo.filename}']") } it 'displays the procedure logo' do
expect(response.body).to have_css("img[src*='#{procedure.logo.filename}']")
end
it { expect(response.body).to include(procedure.service.nom) } it 'displays the action buttons' do
it { expect(response.body).to include(procedure.service.telephone) } expect(response.body).to have_link('Consulter mon dossier')
end
it 'displays the service in the footer' do
expect(response.body).to include(procedure.service.nom)
expect(response.body).to include(procedure.service.telephone)
end
end end
end end