demarches-normaliennes/spec/controllers/users/recapitulatif_controller_spec.rb

71 lines
1.8 KiB
Ruby
Raw Normal View History

2015-08-10 11:05:06 +02:00
require 'spec_helper'
2015-09-23 19:20:03 +02:00
describe Users::RecapitulatifController, type: :controller do
2016-01-18 17:18:04 +01:00
let(:dossier) { create(:dossier, :with_procedure) }
2015-09-23 19:20:03 +02:00
let(:bad_dossier_id) { Dossier.count + 100000 }
2015-08-10 11:05:06 +02:00
before do
sign_in dossier.user
end
2015-08-20 16:52:36 +02:00
describe 'GET #show' do
it 'returns http success' do
get :show, dossier_id: dossier.id
2015-08-10 11:05:06 +02:00
expect(response).to have_http_status(:success)
end
it 'redirection vers siret si mauvais dossier ID' do
get :show, dossier_id: bad_dossier_id
expect(response).to redirect_to('/')
2015-08-10 11:05:06 +02:00
end
it_behaves_like "not owner of dossier", :show
2015-08-10 11:05:06 +02:00
end
describe 'POST #initiate' do
context 'when an user initiate his dossier' do
before do
post :initiate, dossier_id: dossier.id
end
it 'dossier change his state for closed' do
dossier.reload
expect(dossier.state).to eq('initiated')
end
it 'a message informe user what his dossier is initiated' do
expect(flash[:notice]).to include('Dossier soumis avec succès.')
end
end
end
describe 'POST #submit' do
context 'when an user depose his dossier' do
before do
dossier.validated!
post :submit, dossier_id: dossier.id
end
it 'dossier change his state for submitted' do
dossier.reload
expect(dossier.state).to eq('submitted')
end
it 'a message informe user what his dossier is initiated' do
expect(flash[:notice]).to include('Dossier déposé avec succès.')
end
it 'Notification email is send' do
expect(NotificationMailer).to receive(:dossier_submitted).and_return(NotificationMailer)
expect(NotificationMailer).to receive(:deliver_now!)
dossier.validated!
post :submit, dossier_id: dossier.id
end
end
end
2015-08-10 11:05:06 +02:00
end