Merge pull request #8546 from tchak/fix-rebase-repasse-en-instruction
fix(dossier): do not try to rebase if procedure is not published
This commit is contained in:
commit
d291a309df
2 changed files with 14 additions and 3 deletions
|
@ -14,12 +14,12 @@ module DossierRebaseConcern
|
|||
end
|
||||
|
||||
def can_rebase?
|
||||
revision != procedure.published_revision &&
|
||||
procedure.published_revision.present? && revision != procedure.published_revision &&
|
||||
(brouillon? || accepted_en_construction_changes? || accepted_en_instruction_changes?)
|
||||
end
|
||||
|
||||
def pending_changes
|
||||
revision.compare(procedure.published_revision)
|
||||
procedure.published_revision.present? ? revision.compare(procedure.published_revision) : []
|
||||
end
|
||||
|
||||
def can_rebase_mandatory_change?(stable_id)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
describe Dossier do
|
||||
describe DossierRebaseConcern do
|
||||
describe '#can_rebase?' do
|
||||
let(:procedure) { create(:procedure, :with_type_de_champ_mandatory, :with_type_de_champ_private, :with_yes_no) }
|
||||
let(:attestation_template) { procedure.draft_revision.attestation_template.find_or_revise! }
|
||||
|
@ -6,6 +6,17 @@ describe Dossier do
|
|||
let(:private_type_de_champ) { procedure.active_revision.types_de_champ_private.first }
|
||||
let(:mandatory_type_de_champ) { procedure.active_revision.types_de_champ_public.find(&:mandatory?) }
|
||||
|
||||
context 'on unpublished procedure' do
|
||||
context 'en_construction' do
|
||||
let(:dossier) { create(:dossier, :en_construction, procedure: procedure) }
|
||||
|
||||
it 'should be false' do
|
||||
expect(dossier.pending_changes).to be_empty
|
||||
expect(dossier.can_rebase?).to be_falsey
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'en_construction' do
|
||||
let(:dossier) { create(:dossier, :en_construction, procedure: procedure) }
|
||||
|
Loading…
Add table
Reference in a new issue