From 34da620b0fe1f1f5db41e55c8896a5f04c590036 Mon Sep 17 00:00:00 2001 From: Frederic Merizen Date: Thu, 11 Oct 2018 10:46:32 +0200 Subject: [PATCH] [#1961] get_value for individual --- app/models/procedure_presentation.rb | 6 ++---- spec/models/procedure_presentation_spec.rb | 23 ++++++++++++++++++++++ 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/app/models/procedure_presentation.rb b/app/models/procedure_presentation.rb index 23a94de3c..6e1c215fc 100644 --- a/app/models/procedure_presentation.rb +++ b/app/models/procedure_presentation.rb @@ -186,10 +186,8 @@ class ProcedurePresentation < ApplicationRecord case table when 'self' dossier.send(column) - when 'user' - dossier.user.send(column) - when 'etablissement' - dossier.etablissement&.send(column) + when 'user', 'individual', 'etablissement' + dossier.send(table)&.send(column) when 'type_de_champ' dossier.champs.find { |c| c.type_de_champ_id == column.to_i }.value when 'type_de_champ_private' diff --git a/spec/models/procedure_presentation_spec.rb b/spec/models/procedure_presentation_spec.rb index 071237465..35a3c82c9 100644 --- a/spec/models/procedure_presentation_spec.rb +++ b/spec/models/procedure_presentation_spec.rb @@ -147,6 +147,29 @@ describe ProcedurePresentation do it { is_expected.to eq('bla@yopmail.com') } end + context 'for individual table' do + let(:table) { 'individual' } + let(:dossier) { create(:dossier, procedure: procedure, individual: create(:individual, nom: 'Martin', prenom: 'Jacques', gender: 'M.')) } + + context 'for prenom column' do + let(:column) { 'prenom' } + + it { is_expected.to eq('Jacques') } + end + + context 'for nom column' do + let(:column) { 'nom' } + + it { is_expected.to eq('Martin') } + end + + context 'for gender column' do + let(:column) { 'gender' } + + it { is_expected.to eq('M.') } + end + end + context 'for etablissement table' do let(:table) { 'etablissement' } let(:column) { 'code_postal' } # All other columns work the same, no extra test required