When procedure is archived user can update dossier if not in brouillon

This commit is contained in:
Mathieu Magnin 2017-03-06 15:03:51 +01:00
parent 88654535ea
commit 7e4f473027
5 changed files with 30 additions and 13 deletions

View file

@ -24,12 +24,19 @@ shared_examples 'description_controller_spec' do
expect(response).to have_http_status(:success)
end
context 'but procedure is archived' do
let(:archived) { true }
context 'procedure is archived' do
render_views
let(:archived) { true }
it { expect(response).to have_http_status(:success) }
it { expect(response.body).to have_content(I18n.t('errors.messages.procedure_archived')) }
it { expect(response.body).to_not have_content(I18n.t('errors.messages.procedure_archived')) }
context 'dossier is a draft' do
let(:state) { 'draft' }
it { expect(response).to have_http_status(:success) }
it { expect(response.body).to have_content(I18n.t('errors.messages.procedure_archived')) }
end
end
end
@ -297,7 +304,13 @@ shared_examples 'description_controller_spec' do
post :update, params: { dossier_id: dossier.id }
end
it { expect(response.status).to eq(403) }
it { expect(response.status).to eq(302) }
context 'Le dossier est en brouillon' do
let(:state) { 'draft' }
it { expect(response.status).to eq(403) }
end
end
end

View file

@ -6,9 +6,10 @@ describe Users::DescriptionController, type: :controller, vcr: {cassette_name: '
let(:owner_user) { create(:user) }
let(:invite_by_user) { create :user, email: 'invite@plop.com' }
let(:archived) { false }
let(:state) { 'initiated' }
let(:procedure) { create(:procedure, :with_two_type_de_piece_justificative, :with_type_de_champ, :with_datetime, cerfa_flag: true, archived: archived) }
let(:dossier) { create(:dossier, procedure: procedure, user: owner_user, state: 'initiated') }
let(:dossier) { create(:dossier, procedure: procedure, user: owner_user, state: state) }
let(:dossier_id) { dossier.id }
let(:bad_dossier_id) { Dossier.count + 10000 }