Add draft/publish status for procedure.

This commit is contained in:
Guillaume Lazzara 2016-06-09 17:49:38 +02:00
parent b987b86bd8
commit 2791988da2
22 changed files with 341 additions and 71 deletions

View file

@ -2,7 +2,8 @@ require 'spec_helper'
describe Admin::PiecesJustificativesController, type: :controller do
let(:admin) { create(:administrateur) }
let(:procedure) { create(:procedure, administrateur: admin) }
let(:published) { false }
let(:procedure) { create(:procedure, administrateur: admin, published: published) }
before do
sign_in admin
end
@ -17,8 +18,8 @@ describe Admin::PiecesJustificativesController, type: :controller do
it { expect(subject.status).to eq(404) }
end
context 'when procedure have at least a file' do
let!(:dossier) { create(:dossier, procedure: procedure, state: :initiated) }
context 'when procedure is published' do
let(:published) { true }
it { is_expected.to redirect_to admin_procedure_path id: procedure_id }
end

View file

@ -46,8 +46,15 @@ describe Admin::ProceduresController, type: :controller do
it { expect(response.status).to eq(200) }
end
describe 'GET #published' do
subject { get :published }
it { expect(response.status).to eq(200) }
end
describe 'GET #edit' do
let(:procedure) { create(:procedure, administrateur: admin) }
let(:published) { false }
let(:procedure) { create(:procedure, administrateur: admin, published: published) }
let(:procedure_id) { procedure.id }
subject { get :edit, id: procedure_id }
@ -66,8 +73,8 @@ describe Admin::ProceduresController, type: :controller do
it { expect(subject).to have_http_status(:success) }
end
context 'when procedure have at least a file' do
let!(:dossier) { create(:dossier, procedure: procedure, state: :initiated) }
context 'when procedure is published' do
let(:published) { true }
it { is_expected.to redirect_to admin_procedure_path id: procedure_id }
end

View file

@ -9,7 +9,8 @@ describe Admin::TypesDeChampController, type: :controller do
end
describe 'GET #show' do
let(:procedure) { create(:procedure, administrateur: admin) }
let(:published) { false }
let(:procedure) { create(:procedure, administrateur: admin, published: published) }
let(:procedure_id) { procedure.id }
subject { get :show, procedure_id: procedure_id }
@ -19,8 +20,8 @@ describe Admin::TypesDeChampController, type: :controller do
it { expect(subject.status).to eq(404) }
end
context 'when procedure have at least a file' do
let!(:dossier) { create(:dossier, procedure: procedure, state: :initiated) }
context 'when procedure is published' do
let(:published) { true }
it { is_expected.to redirect_to admin_procedure_path id: procedure_id }
end

View file

@ -3,7 +3,7 @@ require 'spec_helper'
describe Users::DossiersController, type: :controller do
let(:user) { create(:user) }
let(:procedure) { create(:procedure) }
let(:procedure) { create(:procedure, :published) }
let(:procedure_id) { procedure.id }
let(:dossier) { create(:dossier, :with_entreprise, user: user, procedure: procedure) }
let(:dossier_id) { dossier.id }
@ -80,6 +80,16 @@ describe Users::DossiersController, type: :controller do
it { is_expected.to redirect_to users_dossiers_path }
end
context 'when procedure is not published' do
let(:procedure) { create(:procedure, published: false) }
before do
sign_in create(:user)
end
it { is_expected.to redirect_to users_dossiers_path }
end
end
end

View file

@ -85,8 +85,18 @@ describe Users::SessionsController, type: :controller do
it { expect(subject).to redirect_to root_path }
end
context 'when procedure is not published' do
let(:procedure) { create :procedure, published: false }
before do
session["user_return_to"] = "?procedure_id=#{procedure.id}"
end
it { expect(subject.status).to eq 302}
it { expect(subject).to redirect_to root_path }
end
context 'when procedure_id exist' do
let(:procedure) { create :procedure }
let(:procedure) { create :procedure, published: true }
before do
session["user_return_to"] = "?procedure_id=#{procedure.id}"