demarches-normaliennes/spec/controllers/manager/dossiers_controller_spec.rb
2020-03-31 17:08:28 +02:00

47 lines
1.3 KiB
Ruby

describe Manager::DossiersController, type: :controller do
let(:administration) { create :administration }
let(:deleted_dossier) { DeletedDossier.find_by(dossier_id: dossier) }
let(:operations) { dossier.dossier_operation_logs.map(&:operation).map(&:to_sym) }
before { sign_in administration }
describe '#discard' do
let(:dossier) { create(:dossier, :en_construction) }
before do
post :discard, params: { id: dossier.id }
dossier.reload
end
it { expect(dossier.discarded?).to be_truthy }
it { expect(deleted_dossier).not_to be_nil }
it { expect(deleted_dossier.reason).to eq("manager_request") }
it { expect(operations).to eq([:supprimer]) }
end
describe '#restore' do
let(:dossier) { create(:dossier, :en_construction) }
before do
dossier.discard_and_keep_track!(administration, :manager_request)
post :restore, params: { id: dossier.id }
dossier.reload
end
it { expect(dossier.kept?).to be_truthy }
it { expect(deleted_dossier).to be_nil }
it { expect(operations).to eq([:supprimer, :restaurer]) }
end
describe '#repasser_en_instruction' do
let(:dossier) { create(:dossier, :accepte) }
before do
post :repasser_en_instruction, params: { id: dossier.id }
dossier.reload
end
it { expect(dossier.en_instruction?).to be_truthy }
end
end