ignore file not found error when cloning procedure

This commit is contained in:
simon lehericey 2022-04-14 12:18:46 +02:00
parent 6aef4947b5
commit 23707d6033
2 changed files with 14 additions and 1 deletions

View file

@ -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|
PiecesJustificativesService.clone_attachments(original, kopy) begin
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

View file

@ -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