add column hidden_by_expired_at

This commit is contained in:
Lisa Durand 2024-07-15 18:02:54 +02:00
parent 954ab39de8
commit 0dcdcb5643
No known key found for this signature in database
GPG key ID: 0DF91F2CA1E8B816
12 changed files with 99 additions and 46 deletions

View file

@ -1308,16 +1308,67 @@ describe Instructeurs::DossiersController, type: :controller do
end
describe '#extend_conservation and restore' do
before do
dossier.update(hidden_by_administration_at: 1.hour.ago, hidden_by_user_at: 1.hour.ago, hidden_by_reason: 'expired')
end
subject { post :extend_conservation, params: { procedure_id: procedure.id, dossier_id: dossier.id } }
it "puts hidden_by to nil and extends conservation_extension by 1 month" do
subject
expect(dossier.reload.hidden_by_administration_at).to eq(nil)
expect(dossier.reload.hidden_by_user_at).to eq(nil)
expect(dossier.reload.conservation_extension).to eq(1.month)
before do
dossier.update(hidden_by_expired_at: 1.hour.ago, hidden_by_reason: 'expired')
end
context 'when dossier has expired but was not hidden by anyone' do
it 'works' do
expect(subject).to redirect_to(instructeur_dossier_path(procedure, dossier))
end
it 'extends conservation_extension by 1 month and let dossier not hidden' do
subject
expect(dossier.reload.conservation_extension).to eq(1.month)
expect(dossier.reload.hidden_by_reason).to eq(nil)
expect(dossier.reload.hidden_by_expired_at).to eq(nil)
expect(dossier.reload.hidden_by_administration_at).to eq(nil)
expect(dossier.reload.hidden_by_user_at).to eq(nil)
end
it 'flashed notice success' do
subject
expect(flash[:notice]).to eq(I18n.t('views.instructeurs.dossiers.archived_dossier'))
end
end
context 'when dossier has expired and was hidden by instructeur' do
let!(:dossier) { create(:dossier, :hidden_by_administration, :accepte, :with_individual, procedure: procedure) }
it 'extends conservation_extension by 1 month and restore dossier for instructeur' do
subject
expect(dossier.reload.conservation_extension).to eq(1.month)
expect(dossier.reload.hidden_by_reason).to eq(nil)
expect(dossier.reload.hidden_by_expired_at).to eq(nil)
expect(dossier.reload.hidden_by_administration_at).to eq(nil)
expect(dossier.reload.hidden_by_user_at).to eq(nil)
end
end
context 'when dossier has expired and was hidden by user' do
let!(:dossier) { create(:dossier, :hidden_by_user, :accepte, :with_individual, procedure: procedure) }
it 'extends conservation_extension by 1 month and let dossier hidden for user' do
subject
expect(dossier.reload.conservation_extension).to eq(1.month)
expect(dossier.reload.hidden_by_reason).to eq("user_request")
expect(dossier.reload.hidden_by_expired_at).to eq(nil)
expect(dossier.reload.hidden_by_administration_at).to eq(nil)
expect(dossier.reload.hidden_by_user_at).not_to eq(nil)
end
end
context 'when dossier has expired and was hidden by user and instructeur' do
let!(:dossier) { create(:dossier, :hidden_by_user, :hidden_by_administration, :accepte, :with_individual, procedure: procedure) }
it 'extends conservation_extension by 1 month and let dossier hidden for user' do
subject
expect(dossier.reload.conservation_extension).to eq(1.month)
expect(dossier.reload.hidden_by_reason).to eq("user_request")
expect(dossier.reload.hidden_by_expired_at).to eq(nil)
expect(dossier.reload.hidden_by_administration_at).to eq(nil)
expect(dossier.reload.hidden_by_user_at).not_to eq(nil)
end
end
end