From a2c0379127e9ad3d6f50f035373c7996567b89e1 Mon Sep 17 00:00:00 2001 From: Colin Darie Date: Fri, 7 Jun 2024 12:06:41 +0200 Subject: [PATCH] test(attestation): preview pdf --- ...ttestation_template_v2s_controller_spec.rb | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/spec/controllers/administrateurs/attestation_template_v2s_controller_spec.rb b/spec/controllers/administrateurs/attestation_template_v2s_controller_spec.rb index 0b2edcca3..d736aa9c5 100644 --- a/spec/controllers/administrateurs/attestation_template_v2s_controller_spec.rb +++ b/spec/controllers/administrateurs/attestation_template_v2s_controller_spec.rb @@ -31,11 +31,12 @@ describe Administrateurs::AttestationTemplateV2sController, type: :controller do describe 'GET #show' do subject do - get :show, params: { procedure_id: procedure.id } + get :show, params: { procedure_id: procedure.id, format: } response.body end - context 'if an attestation template exists on the procedure' do + context 'html' do + let(:format) { :html } render_views context 'with preview dossier' do @@ -93,6 +94,24 @@ describe Administrateurs::AttestationTemplateV2sController, type: :controller do end end end + + context 'pdf' do + render_views + let(:format) { :pdf } + let(:attestation_template) { build(:attestation_template, :v2, signature:) } + let(:dossier) { create(:dossier, :en_construction, procedure:, for_procedure_preview: true) } + + before do + html_content = /Ministère des devs.+Mon titre pour Ma démarche.+n° #{dossier.id}/m + context = { procedure_id: procedure.id } + + allow(WeasyprintService).to receive(:generate_pdf).with(a_string_matching(html_content), hash_including(context)).and_return('PDF_DATA') + end + + it do + is_expected.to eq('PDF_DATA') + end + end end describe 'GET edit' do