From 5c70d38a2376db10b504ca3a62465585a97a17ac Mon Sep 17 00:00:00 2001 From: Simon Lehericey Date: Fri, 16 Jun 2017 14:10:08 +0200 Subject: [PATCH] Attestation: fix missing_attachment --- app/controllers/backoffice/dossiers_controller.rb | 11 ++++++----- .../backoffice/dossiers_controller_spec.rb | 7 +++++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/app/controllers/backoffice/dossiers_controller.rb b/app/controllers/backoffice/dossiers_controller.rb index 9ab9c4d08..0e3fea2b4 100644 --- a/app/controllers/backoffice/dossiers_controller.rb +++ b/app/controllers/backoffice/dossiers_controller.rb @@ -114,8 +114,6 @@ class Backoffice::DossiersController < Backoffice::DossiersListController dossier = @facade.dossier - attestation_pdf = nil - case params[:process_action] when "refuse" next_step = "refuse" @@ -129,12 +127,15 @@ class Backoffice::DossiersController < Backoffice::DossiersListController next_step = "close" notice = "Dossier traité avec succès." template = dossier.procedure.closed_mail_template - if check_attestation_emailable(dossier) - attestation_pdf = dossier.attestation.pdf.read - end end dossier.next_step! 'gestionnaire', next_step, motivation + + attestation_pdf = nil + if check_attestation_emailable(dossier) + attestation_pdf = dossier.attestation.pdf.read + end + flash.notice = notice NotificationMailer.send_notification(dossier, template, attestation_pdf).deliver_now! diff --git a/spec/controllers/backoffice/dossiers_controller_spec.rb b/spec/controllers/backoffice/dossiers_controller_spec.rb index e019314ba..60486279d 100644 --- a/spec/controllers/backoffice/dossiers_controller_spec.rb +++ b/spec/controllers/backoffice/dossiers_controller_spec.rb @@ -336,8 +336,11 @@ describe Backoffice::DossiersController, type: :controller do let(:emailable) { false } before do - fake_attestation = double(pdf: double(read: 'pdf', size: 2.megabytes), emailable?: emailable) - allow_any_instance_of(Dossier).to receive(:attestation).and_return(fake_attestation) + attestation = Attestation.new + allow(attestation).to receive(:pdf).and_return(double(read: 'pdf', size: 2.megabytes)) + allow(attestation).to receive(:emailable?).and_return(emailable) + + allow_any_instance_of(Dossier).to receive(:build_attestation).and_return(attestation) end context 'emailable' do