demarches-normaliennes/spec/mailers/previews/notification_mailer_preview.rb
Pierre de La Morinerie e8b6731af8 spec: improve performances of notification_mailer_preview
The time to find the last dossier could be very long for large
procedures.
2022-05-17 10:25:13 +02:00

35 lines
956 B
Ruby

class NotificationMailerPreview < ActionMailer::Preview
def send_en_construction_notification
NotificationMailer.send_en_construction_notification(dossier_with_image)
end
def send_en_instruction_notification
NotificationMailer.send_en_instruction_notification(dossier)
end
def send_accepte_notification
NotificationMailer.send_accepte_notification(dossier)
end
def send_refuse_notification
NotificationMailer.send_refuse_notification(dossier_with_motivation)
end
def send_sans_suite_notification
NotificationMailer.send_sans_suite_notification(dossier)
end
private
def dossier
Dossier.last
end
def dossier_with_image
Dossier.joins(procedure: [:initiated_mail]).where("initiated_mails.body like ?", "%<img%").order('RANDOM()').first
end
def dossier_with_motivation
Dossier.last.tap { |d| d.assign_attributes(motivation: 'Le montant demandé dépasse le plafond autorisé') }
end
end