diff --git a/app/models/procedure.rb b/app/models/procedure.rb index 482a0fd30..c96b0eb3b 100644 --- a/app/models/procedure.rb +++ b/app/models/procedure.rb @@ -467,7 +467,7 @@ class Procedure < ApplicationRecord dossier_submitted_message: [] } } - include_list[:groupe_instructeurs] = :instructeurs if !is_different_admin + include_list[:groupe_instructeurs] = [:instructeurs, :contact_information] if !is_different_admin procedure = self.deep_clone(include: include_list) do |original, kopy| PiecesJustificativesService.clone_attachments(original, kopy) end diff --git a/spec/models/procedure_spec.rb b/spec/models/procedure_spec.rb index 9291e15cd..8d3f9c21f 100644 --- a/spec/models/procedure_spec.rb +++ b/spec/models/procedure_spec.rb @@ -563,7 +563,7 @@ describe Procedure do let(:logo) { Rack::Test::UploadedFile.new('spec/fixtures/files/white.png', 'image/png') } let(:signature) { Rack::Test::UploadedFile.new('spec/fixtures/files/black.png', 'image/png') } - let(:groupe_instructeur_1) { create(:groupe_instructeur, procedure: procedure, label: "groupe_1") } + let(:groupe_instructeur_1) { create(:groupe_instructeur, procedure: procedure, label: "groupe_1", contact_information: create(:contact_information)) } let(:instructeur_1) { create(:instructeur) } let(:instructeur_2) { create(:instructeur) } let!(:assign_to_1) { create(:assign_to, procedure: procedure, groupe_instructeur: groupe_instructeur_1, instructeur: instructeur_1) } @@ -594,6 +594,11 @@ describe Procedure do expect { subject }.not_to raise_error end + + it 'should clone groupe instructeur services' do + expect(procedure.groupe_instructeurs.last.contact_information).not_to eq nil + expect(subject.groupe_instructeurs.last.contact_information).not_to eq nil + end end it 'should reset duree_conservation_etendue_par_ds' do @@ -707,6 +712,13 @@ describe Procedure do expect(subject.service).to eq(nil) end + context 'with groupe instructeur services' do + it 'should not clone groupe instructeur services' do + expect(procedure.groupe_instructeurs.last.contact_information).not_to eq nil + expect(subject.groupe_instructeurs.last.contact_information).to eq nil + end + end + it 'should discard old pj information' do subject.draft_revision.types_de_champ_public.each do |stc| expect(stc.old_pj).to be_nil