diff --git a/app/models/procedure_presentation.rb b/app/models/procedure_presentation.rb index 6e1c215fc..6cd363533 100644 --- a/app/models/procedure_presentation.rb +++ b/app/models/procedure_presentation.rb @@ -129,7 +129,7 @@ class ProcedurePresentation < ApplicationRecord .includes(table) .where("#{column} ILIKE ?", "%#{filter['value']}%") end - when 'user' + when 'user', 'individual' dossiers .includes(table) .where("#{column} ILIKE ?", "%#{filter['value']}%") diff --git a/spec/models/procedure_presentation_spec.rb b/spec/models/procedure_presentation_spec.rb index 35a3c82c9..7d41674b7 100644 --- a/spec/models/procedure_presentation_spec.rb +++ b/spec/models/procedure_presentation_spec.rb @@ -382,5 +382,29 @@ describe ProcedurePresentation do it { is_expected.to contain_exactly(kept_dossier.id) } end + + context 'for individual table' do + let(:procedure) { create(:procedure, :for_individual) } + let!(:kept_dossier) { create(:dossier, procedure: procedure, individual: create(:individual, gender: 'Mme', prenom: 'Josephine', nom: 'Baker')) } + let!(:discarded_dossier) { create(:dossier, procedure: procedure, individual: create(:individual, gender: 'M', prenom: 'Jean', nom: 'Tremblay')) } + + context 'for gender column' do + let(:filter) { [{ 'table' => 'individual', 'column' => 'gender', 'value' => 'Mme' }] } + + it { is_expected.to contain_exactly(kept_dossier.id) } + end + + context 'for prenom column' do + let(:filter) { [{ 'table' => 'individual', 'column' => 'prenom', 'value' => 'Josephine' }] } + + it { is_expected.to contain_exactly(kept_dossier.id) } + end + + context 'for nom column' do + let(:filter) { [{ 'table' => 'individual', 'column' => 'nom', 'value' => 'Baker' }] } + + it { is_expected.to contain_exactly(kept_dossier.id) } + end + end end end