Merge pull request #7164 from betagouv/allow_cloning_procedure_with_missing_pj
une procédure avec des pj manquantes peut être clonée
This commit is contained in:
commit
a50efc7f83
2 changed files with 14 additions and 1 deletions
|
@ -454,7 +454,10 @@ class Procedure < ApplicationRecord
|
||||||
}
|
}
|
||||||
include_list[:groupe_instructeurs] = :instructeurs if !is_different_admin
|
include_list[:groupe_instructeurs] = :instructeurs if !is_different_admin
|
||||||
procedure = self.deep_clone(include: include_list) do |original, kopy|
|
procedure = self.deep_clone(include: include_list) do |original, kopy|
|
||||||
|
begin
|
||||||
PiecesJustificativesService.clone_attachments(original, kopy)
|
PiecesJustificativesService.clone_attachments(original, kopy)
|
||||||
|
rescue ActiveStorage::FileNotFoundError
|
||||||
|
end
|
||||||
end
|
end
|
||||||
procedure.path = SecureRandom.uuid
|
procedure.path = SecureRandom.uuid
|
||||||
procedure.aasm_state = :brouillon
|
procedure.aasm_state = :brouillon
|
||||||
|
|
|
@ -647,6 +647,16 @@ describe Procedure do
|
||||||
expect(subject.canonical_procedure).to be_nil
|
expect(subject.canonical_procedure).to be_nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'with an pj not found' do
|
||||||
|
let(:procedure) { create(:procedure) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
expect(PiecesJustificativesService).to receive(:clone_attachments).at_least(:once).and_raise(ActiveStorage::FileNotFoundError)
|
||||||
|
end
|
||||||
|
|
||||||
|
it { expect { procedure.clone(administrateur, false) }.not_to raise_error }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#publish!' do
|
describe '#publish!' do
|
||||||
|
|
Loading…
Reference in a new issue