add grace period to deleted dossiers

This commit is contained in:
kara Diaby 2020-11-26 15:13:32 +01:00 committed by simon lehericey
parent d2f3bb18f9
commit f3c4040d2d
10 changed files with 103 additions and 51 deletions

View file

@ -746,8 +746,8 @@ describe Instructeurs::DossiersController, type: :controller do
end
it 'deletes previous logs and add a suppression log' do
expect(DossierOperationLog.where(dossier_id: dossier.id).count).to eq(1)
expect(DossierOperationLog.where(dossier_id: dossier.id).first.operation).to eq('supprime_par_instructeur')
expect(DossierOperationLog.where(dossier_id: dossier.id).count).to eq(3)
expect(DossierOperationLog.where(dossier_id: dossier.id).last.operation).to eq('supprimer')
end
it 'send an email to the user' do
@ -761,8 +761,8 @@ describe Instructeurs::DossiersController, type: :controller do
expect(DeletedDossier.where(dossier_id: dossier.id).first.groupe_instructeur_id).to eq(dossier.groupe_instructeur_id)
end
it 'delete the dossier' do
expect { dossier.reload }.to raise_error ActiveRecord::RecordNotFound
it 'discard the dossier' do
expect(dossier.reload.hidden_at).not_to eq(nil)
end
end

View file

@ -759,7 +759,7 @@ describe Users::DossiersController, type: :controller do
before { get(:index) }
it { expect(assigns(:statut)).to eq('mes-dossiers') }
it { expect(assigns(:statut)).to eq('dossiers-invites') }
it { expect(assigns(:dossiers_invites)).to match([invite.dossier]) }
end

View file

@ -0,0 +1,34 @@
RSpec.describe DiscardedDossiersDeletionJob, type: :job do
include ActiveJob::TestHelper
let(:instructeur) { create(:instructeur) }
let!(:dossier_brouillon) { create(:dossier) }
let!(:dossier) { create(:dossier, :en_construction) }
let!(:discarded_dossier_brouillon) { create(:dossier, hidden_at: 2.weeks.ago) }
let!(:discarded_dossier_en_construction) { create(:dossier, :en_construction, hidden_at: 2.weeks.ago) }
let!(:discarded_dossier_termine) { create(:dossier, :accepte, hidden_at: 2.weeks.ago) }
let!(:discarded_dossier_termine_today) { create(:dossier, :accepte, hidden_at: 1.hour.ago) }
before do
discarded_dossier_en_construction.send(:log_dossier_operation, instructeur, :passer_en_instruction, discarded_dossier_en_construction)
discarded_dossier_termine.send(:log_dossier_operation, instructeur, :passer_en_instruction, discarded_dossier_termine)
discarded_dossier_termine_today.send(:log_dossier_operation, instructeur, :passer_en_instruction, discarded_dossier_termine_today)
discarded_dossier_en_construction.send(:log_dossier_operation, instructeur, :supprimer, discarded_dossier_en_construction)
discarded_dossier_termine.send(:log_dossier_operation, instructeur, :supprimer, discarded_dossier_termine)
discarded_dossier_termine_today.send(:log_dossier_operation, instructeur, :supprimer, discarded_dossier_termine_today)
end
context 'cleanup discared dossiers' do
it 'delete dossiers and operation logs' do
expect(Dossier.with_discarded.count).to eq(6)
expect(DossierOperationLog.count).to eq(6)
DiscardedDossiersDeletionJob.perform_now
expect(Dossier.with_discarded.count).to eq(3)
expect(DossierOperationLog.count).to eq(4)
end
end
end

View file

@ -1268,8 +1268,8 @@ describe Dossier do
end
end
it { expect(Dossier.discarded_brouillon_expired.count).to eq(2) }
it { expect(Dossier.discarded_en_construction_expired.count).to eq(2) }
it { expect(Dossier.discarded_brouillon_expired.count).to eq(3) }
it { expect(Dossier.discarded_en_construction_expired.count).to eq(3) }
end
describe "discarded procedure dossier should be able to access it's procedure" do