demarches-normaliennes/spec/controllers/backoffice/dossiers_controller_spec.rb

60 lines
1.4 KiB
Ruby
Raw Normal View History

2015-09-22 15:00:59 +02:00
require 'rails_helper'
describe Backoffice::DossiersController, type: :controller do
let(:dossier) { create(:dossier, :with_entreprise, :with_user) }
2015-09-22 15:00:59 +02:00
let(:dossier_id) { dossier.id }
let(:bad_dossier_id) { Dossier.count + 10 }
let(:gestionnaire) { create(:gestionnaire) }
describe 'GET #show' do
2015-11-02 16:36:52 +01:00
context 'gestionnaire is connected' do
2015-09-22 15:00:59 +02:00
before do
sign_in gestionnaire
end
it 'returns http success' do
get :show, id: dossier_id
expect(response).to have_http_status(200)
end
2015-11-02 16:36:52 +01:00
it 'dossier id doesnt exist' do
2015-09-22 15:00:59 +02:00
get :show, id: bad_dossier_id
expect(response).to redirect_to('/backoffice')
2015-09-22 15:00:59 +02:00
end
end
2015-11-02 16:36:52 +01:00
context 'gestionnaire doesnt connected but dossier id is correct' do
2015-09-22 15:00:59 +02:00
subject { get :show, id: dossier_id }
it { is_expected.to redirect_to('/gestionnaires/sign_in') }
end
end
describe 'POST #valid' do
2015-11-02 16:36:52 +01:00
before do
dossier.initiated!
sign_in gestionnaire
end
2015-11-02 16:36:52 +01:00
it 'dossier change is state for validated' do
post :valid, dossier_id: dossier_id
2015-11-02 16:36:52 +01:00
dossier.reload
expect(dossier.state).to eq('validated')
end
end
describe 'POST #close' do
2015-11-02 16:36:52 +01:00
before do
dossier.submitted!
sign_in gestionnaire
end
2015-11-02 16:36:52 +01:00
it 'dossier change is state to closed' do
post :close, dossier_id: dossier_id
2015-11-02 16:36:52 +01:00
dossier.reload
expect(dossier.state).to eq('closed')
end
end
2015-09-22 15:00:59 +02:00
end