diff --git a/app/models/dossier.rb b/app/models/dossier.rb index ec032c52a..83de9b532 100644 --- a/app/models/dossier.rb +++ b/app/models/dossier.rb @@ -584,10 +584,6 @@ class Dossier < ApplicationRecord !PiecesJustificativesService.liste_pieces_justificatives(self).empty? && PiecesJustificativesService.pieces_justificatives_total_size(self) < Dossier::TAILLE_MAX_ZIP end - def linked_dossiers - Dossier.where(id: champs.filter(&:dossier_link?).map(&:value).compact) - end - def linked_dossiers_for(instructeur) dossier_ids = champs.filter(&:dossier_link?).map(&:value).compact (instructeur.dossiers.where(id: dossier_ids) + instructeur.dossiers_from_avis.where(id: dossier_ids)).uniq diff --git a/spec/controllers/instructeurs/avis_controller_spec.rb b/spec/controllers/instructeurs/avis_controller_spec.rb index 490668834..e0ea52292 100644 --- a/spec/controllers/instructeurs/avis_controller_spec.rb +++ b/spec/controllers/instructeurs/avis_controller_spec.rb @@ -204,7 +204,7 @@ describe Instructeurs::AvisController, type: :controller do context 'and the expert can access the linked dossiers' do let(:created_avis) { Avis.last(2).first } let(:linked_avis) { Avis.last } - let(:linked_dossier) { dossier.reload.linked_dossiers.first } + let(:linked_dossier) { Dossier.find_by(id: dossier.reload.champs.filter(&:dossier_link?).map(&:value).compact) } let(:invite_linked_dossiers) do instructeur.assign_to_procedure(linked_dossier.procedure) true diff --git a/spec/controllers/instructeurs/dossiers_controller_spec.rb b/spec/controllers/instructeurs/dossiers_controller_spec.rb index 032c986cb..80e0afe42 100644 --- a/spec/controllers/instructeurs/dossiers_controller_spec.rb +++ b/spec/controllers/instructeurs/dossiers_controller_spec.rb @@ -495,7 +495,7 @@ describe Instructeurs::DossiersController, type: :controller do context 'and the expert can access the linked dossiers' do let(:saved_avis) { Avis.last(2).first } let(:linked_avis) { Avis.last } - let(:linked_dossier) { dossier.reload.linked_dossiers.first } + let(:linked_dossier) { Dossier.find_by(id: dossier.reload.champs.filter(&:dossier_link?).map(&:value).compact) } let(:invite_linked_dossiers) do instructeur.assign_to_procedure(linked_dossier.procedure) true diff --git a/spec/features/instructeurs/expert_spec.rb b/spec/features/instructeurs/expert_spec.rb index 0ba386e4f..75dbc8bec 100644 --- a/spec/features/instructeurs/expert_spec.rb +++ b/spec/features/instructeurs/expert_spec.rb @@ -9,11 +9,12 @@ feature 'Inviting an expert:' do let(:expert_password) { 'mot de passe d’expert' } let(:procedure) { create(:procedure, :published, instructeurs: [instructeur]) } let(:dossier) { create(:dossier, :en_construction, :with_dossier_link, procedure: procedure) } + let(:linked_dossier) { Dossier.find_by(id: dossier.reload.champs.filter(&:dossier_link?).map(&:value).compact) } context 'as an Instructeur' do scenario 'I can invite an expert' do # assign instructeur to linked dossier - instructeur.assign_to_procedure(dossier.reload.linked_dossiers.first.procedure) + instructeur.assign_to_procedure(linked_dossier.procedure) login_as instructeur.user, scope: :user visit instructeur_dossier_path(procedure, dossier)