From 5e4d96654f52a96a17beff27ae9a271c9e3ce84e Mon Sep 17 00:00:00 2001 From: Eric Leroy-Terquem Date: Tue, 19 Sep 2023 17:25:00 +0200 Subject: [PATCH] fix(dossier clone): always rebase cloned dossiers --- app/models/concerns/dossier_clone_concern.rb | 4 +--- spec/models/concern/dossier_clone_concern_spec.rb | 2 ++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/models/concerns/dossier_clone_concern.rb b/app/models/concerns/dossier_clone_concern.rb index 914c6fc03..5c0afe27c 100644 --- a/app/models/concerns/dossier_clone_concern.rb +++ b/app/models/concerns/dossier_clone_concern.rb @@ -107,9 +107,7 @@ module DossierCloneConcern transaction do cloned_dossier.save!(validate: !fork) - if fork - cloned_dossier.rebase! - end + cloned_dossier.rebase! end if fork diff --git a/spec/models/concern/dossier_clone_concern_spec.rb b/spec/models/concern/dossier_clone_concern_spec.rb index fbd2501a2..8bd9cbfd4 100644 --- a/spec/models/concern/dossier_clone_concern_spec.rb +++ b/spec/models/concern/dossier_clone_concern_spec.rb @@ -272,6 +272,7 @@ RSpec.describe DossierCloneConcern do context 'with new revision' do let(:added_champ) { forked_dossier.champs.find { _1.libelle == "Un nouveau champ text" } } let(:removed_champ) { dossier.champs.find { _1.stable_id == 99 } } + let(:new_dossier) { dossier.clone } before do procedure.draft_revision.add_type_de_champ({ @@ -284,6 +285,7 @@ RSpec.describe DossierCloneConcern do it { expect(dossier.revision_id).to eq(procedure.revisions.first.id) + expect(new_dossier.revision_id).to eq(procedure.published_revision.id) expect(forked_dossier.revision_id).to eq(procedure.published_revision_id) is_expected.to eq(added: [added_champ], updated: [], removed: [removed_champ]) }