bug(export.pdf): ETQ expert, lorsque j'exporte un dossier, celui ci devrait contenir les avis non confidentiels ainsi que mes avis

This commit is contained in:
Martin 2023-03-28 16:51:35 +02:00
parent 5dd6456e4a
commit 4f9c45c489
4 changed files with 29 additions and 1 deletions

View file

@ -287,6 +287,13 @@ prawn_document(page_size: "A4") do |pdf|
end
end
if @include_avis_for_expert && @dossier.avis.present?
add_title(pdf, "Avis")
@dossier.avis_for_expert(@include_avis_for_expert).each do |avis|
add_avis(pdf, avis)
end
end
if @dossier.commentaires.present?
add_title(pdf, 'Messagerie')
@dossier.commentaires.each do |commentaire|

View file

@ -97,7 +97,7 @@ describe Experts::AvisController, type: :controller do
subject { get :telecharger_pjs, params: { id: avis.id, procedure_id: } }
before do
allow(PiecesJustificativesService).to receive(:generate_dossier_export).and_return([]).with([dossier], include_infos_administration: false)
allow(PiecesJustificativesService).to receive(:generate_dossier_export).and_return([]).with([dossier], include_infos_administration: false, include_avis_for_expert: expert)
end
context 'with a valid avis' do

View file

@ -13,6 +13,14 @@ FactoryBot.define do
avis.experts_procedure ||= build(:experts_procedure, procedure: avis.dossier.procedure)
end
trait :confidentiel do
confidentiel { true }
end
trait :not_confidentiel do
confidentiel { false }
end
trait :with_instructeur do
email { nil }
instructeur { association :instructeur, email: generate(:expert_email) }

View file

@ -210,6 +210,19 @@ describe PiecesJustificativesService do
it "doesn't update dossier" do
expect { subject }.not_to change { dossier.updated_at }
end
context 'when given an expert' do
let!(:expert) { create(:expert) }
let!(:confidentiel_avis) { create(:avis, :confidentiel, dossier: dossier) }
let!(:not_confidentiel_avis) { create(:avis, :not_confidentiel, dossier: dossier) }
let!(:expert_avis) { create(:avis, :confidentiel, dossier: dossier, expert: expert) }
subject { PiecesJustificativesService.generate_dossier_export(Dossier.where(id: dossier.id), include_avis_for_expert: expert) }
it "includes avis not confidentiel as well as expert's avis" do
expect_any_instance_of(Dossier).to receive(:avis_for_expert).with(expert).and_return([])
subject
end
end
end
def attach_file_to_champ(champ, safe = true)