spec: Dossier.purge_discarded
This commit is contained in:
parent
ba92216504
commit
92da869662
1 changed files with 33 additions and 0 deletions
33
spec/models/dossier_purge_spec.rb
Normal file
33
spec/models/dossier_purge_spec.rb
Normal file
|
@ -0,0 +1,33 @@
|
|||
describe Dossier, type: :model do
|
||||
describe '.purge_discarded' do
|
||||
it 'discards brouillon, en_construction and termine' do
|
||||
[
|
||||
:en_brouillon_expired_to_delete,
|
||||
:en_construction_expired_to_delete,
|
||||
:termine_expired_to_delete
|
||||
].each do |scope|
|
||||
dossier = double(purge_discarded: true)
|
||||
expect(dossier).to receive(:purge_discarded)
|
||||
|
||||
collection = double(find_each: true)
|
||||
expect(collection).to receive(:find_each) { |&block| block.call(dossier) }
|
||||
|
||||
expect(Dossier).to receive(scope).and_return(collection)
|
||||
end
|
||||
|
||||
Dossier.purge_discarded
|
||||
end
|
||||
end
|
||||
|
||||
describe '#purge_discarded' do
|
||||
let(:dossier) { create(:dossier) }
|
||||
|
||||
it 'creates a deleted dossier, purge the dols and then destroy' do
|
||||
expect(DeletedDossier).to receive(:create_from_dossier)
|
||||
expect(dossier.dossier_operation_logs).to receive(:purge_discarded)
|
||||
expect(dossier).to receive(:destroy)
|
||||
|
||||
dossier.purge_discarded
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue