Front : Procedure can not be edited when at least one file with state other what draft is created by user
This commit is contained in:
parent
43779aafee
commit
c20f9a87e9
9 changed files with 179 additions and 76 deletions
|
@ -18,7 +18,7 @@ describe Admin::PiecesJustificativesController, type: :controller do
|
|||
end
|
||||
|
||||
context 'when procedure have at least a file' do
|
||||
let!(:dossier) { create(:dossier, :with_user, procedure: procedure) }
|
||||
let!(:dossier) { create(:dossier, :with_user, procedure: procedure, state: :initiated) }
|
||||
it { expect(subject.status).to eq(403) }
|
||||
end
|
||||
|
||||
|
|
|
@ -67,7 +67,7 @@ describe Admin::ProceduresController, type: :controller do
|
|||
end
|
||||
|
||||
context 'when procedure have at least a file' do
|
||||
let!(:dossier) { create(:dossier, :with_user, procedure: procedure) }
|
||||
let!(:dossier) { create(:dossier, :with_user, procedure: procedure, state: :initiated) }
|
||||
it { expect(subject.status).to eq(403) }
|
||||
end
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ describe Admin::TypesDeChampController, type: :controller do
|
|||
end
|
||||
|
||||
context 'when procedure have at least a file' do
|
||||
let!(:dossier) { create(:dossier, :with_user, procedure: procedure) }
|
||||
let!(:dossier) { create(:dossier, :with_user, procedure: procedure, state: :initiated) }
|
||||
it { expect(subject.status).to eq(403) }
|
||||
end
|
||||
|
||||
|
|
58
spec/features/admin/procedure_locked_spec.rb
Normal file
58
spec/features/admin/procedure_locked_spec.rb
Normal file
|
@ -0,0 +1,58 @@
|
|||
require 'spec_helper'
|
||||
|
||||
feature 'procedure locked' do
|
||||
|
||||
let(:administrateur) { create(:administrateur) }
|
||||
let(:procedure) { create(:procedure, administrateur: administrateur) }
|
||||
|
||||
before do
|
||||
login_as administrateur, scope: :administrateur
|
||||
visit admin_procedure_path(procedure)
|
||||
end
|
||||
|
||||
context 'when procedure have no file' do
|
||||
scenario 'info label is not present' do
|
||||
expect(page).not_to have_content('La procédure ne peut plus être modifiée car un usagé a déjà déposé un dossier')
|
||||
end
|
||||
end
|
||||
context 'when procedure have at least a file' do
|
||||
before do
|
||||
create(:dossier, :with_user, procedure: procedure, state: :initiated)
|
||||
visit admin_procedure_path(procedure)
|
||||
end
|
||||
|
||||
scenario 'info label is present' do
|
||||
expect(page).to have_content('La procédure ne peut plus être modifiée car un usagé a déjà déposé un dossier')
|
||||
end
|
||||
|
||||
context 'when user click on Description tab' do
|
||||
before do
|
||||
page.click_on 'Description'
|
||||
end
|
||||
|
||||
scenario 'page doest not change' do
|
||||
expect(page).to have_css('#procedure_show')
|
||||
end
|
||||
end
|
||||
|
||||
context 'when user click on Champs tab' do
|
||||
before do
|
||||
page.click_on 'Champs'
|
||||
end
|
||||
|
||||
scenario 'page doest not change' do
|
||||
expect(page).to have_css('#procedure_show')
|
||||
end
|
||||
end
|
||||
|
||||
context 'when user click on Pieces Justificatiives tab' do
|
||||
before do
|
||||
page.click_on 'Pièces justificatives'
|
||||
end
|
||||
|
||||
scenario 'page doest not change' do
|
||||
expect(page).to have_css('#procedure_show')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -51,7 +51,7 @@ describe Procedure do
|
|||
describe '#switch_types_de_champ' do
|
||||
let(:procedure) { create(:procedure) }
|
||||
let(:index) { 0 }
|
||||
subject { procedure.switch_types_de_champ index}
|
||||
subject { procedure.switch_types_de_champ index }
|
||||
|
||||
context 'when procedure have no types_de_champ' do
|
||||
it { expect(subject).to eq(false) }
|
||||
|
@ -74,5 +74,31 @@ describe Procedure do
|
|||
it { expect(subject).to eq(false) }
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe 'locked?' do
|
||||
let(:procedure) { create(:procedure) }
|
||||
|
||||
subject { procedure.locked? }
|
||||
|
||||
context 'when procedure does not have dossier' do
|
||||
it { is_expected.to be_falsey }
|
||||
end
|
||||
|
||||
context 'when procedure have dossier with state draft' do
|
||||
before do
|
||||
create(:dossier, :with_user, procedure: procedure, state: :draft)
|
||||
end
|
||||
|
||||
it { is_expected.to be_falsey }
|
||||
end
|
||||
|
||||
context 'when procedure have dossier with state initiated' do
|
||||
before do
|
||||
create(:dossier, :with_user, procedure: procedure, state: :initiated)
|
||||
end
|
||||
|
||||
it { is_expected.to be_truthy }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue