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
|
end
|
||||||
|
|
||||||
def can_rebase?
|
def can_rebase?
|
||||||
revision != procedure.published_revision &&
|
procedure.published_revision.present? && revision != procedure.published_revision &&
|
||||||
(brouillon? || accepted_en_construction_changes? || accepted_en_instruction_changes?)
|
(brouillon? || accepted_en_construction_changes? || accepted_en_instruction_changes?)
|
||||||
end
|
end
|
||||||
|
|
||||||
def pending_changes
|
def pending_changes
|
||||||
revision.compare(procedure.published_revision)
|
procedure.published_revision.present? ? revision.compare(procedure.published_revision) : []
|
||||||
end
|
end
|
||||||
|
|
||||||
def can_rebase_mandatory_change?(stable_id)
|
def can_rebase_mandatory_change?(stable_id)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
describe Dossier do
|
describe DossierRebaseConcern do
|
||||||
describe '#can_rebase?' do
|
describe '#can_rebase?' do
|
||||||
let(:procedure) { create(:procedure, :with_type_de_champ_mandatory, :with_type_de_champ_private, :with_yes_no) }
|
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! }
|
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(: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?) }
|
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
|
context 'en_construction' do
|
||||||
let(:dossier) { create(:dossier, :en_construction, procedure: procedure) }
|
let(:dossier) { create(:dossier, :en_construction, procedure: procedure) }
|
||||||
|
|
Loading…
Add table
Reference in a new issue