feat(Adminstrateur::Procedures#clone): redirect to home of procedure with special info regarding procedure presentation & service

This commit is contained in:
Martin 2022-08-17 09:06:04 +02:00
parent 6e31decc2d
commit 51680b11c2
4 changed files with 14 additions and 8 deletions

View file

@ -1,4 +1,4 @@
= link_to service_link, class: 'card-admin' do
= link_to service_link, class: 'card-admin', id: 'service' do
- if @procedure.service_id.present?
%div
%span.icon.accept

View file

@ -141,8 +141,8 @@ module Administrateurs
new_procedure = procedure.clone(current_administrateur, cloned_from_library?)
if new_procedure.valid?
flash.notice = 'Démarche clonée'
redirect_to edit_admin_procedure_path(id: new_procedure.id)
flash.notice = 'Démarche clonée, pensez a vérifier la Présentation et choisir le service a laquelle cette procédure est associé.'
redirect_to admin_procedure_path(id: new_procedure.id)
else
if cloned_from_library?
flash.alert = new_procedure.errors.full_messages

View file

@ -332,11 +332,11 @@ describe Administrateurs::ProceduresController, type: :controller do
before { subject }
it 'creates a new procedure and redirect to it' do
expect(response).to redirect_to edit_admin_procedure_path(id: Procedure.last.id)
expect(response).to redirect_to admin_procedure_path(id: Procedure.last.id)
expect(Procedure.last.cloned_from_library).to be_falsey
expect(Procedure.last.notice.attached?).to be_truthy
expect(Procedure.last.deliberation.attached?).to be_truthy
expect(flash[:notice]).to have_content 'Démarche clonée'
expect(flash[:notice]).to have_content 'Démarche clonée, pensez a vérifier la Présentation et choisir le service a laquelle cette procédure est associé.'
end
context 'when the procedure is cloned from the library' do
@ -356,8 +356,8 @@ describe Administrateurs::ProceduresController, type: :controller do
end
it 'creates a new procedure and redirect to it' do
expect(response).to redirect_to edit_admin_procedure_path(id: Procedure.last.id)
expect(flash[:notice]).to have_content 'Démarche clonée'
expect(response).to redirect_to admin_procedure_path(id: Procedure.last.id)
expect(flash[:notice]).to have_content 'Démarche clonée, pensez a vérifier la Présentation et choisir le service a laquelle cette procédure est associé.'
end
end
end

View file

@ -23,8 +23,14 @@ describe 'As an administrateur I wanna clone a procedure', js: true do
visit admin_procedures_path(statut: "brouillons")
expect(page.find_by_id('procedures')['data-item-count']).to eq('1')
click_on Procedure.last.libelle
expect(page).to have_current_path(admin_procedure_path(Procedure.last))
expect(page).to have_current_path(admin_procedure_path(id: Procedure.last))
# select service
find("#service .button").click
within("#procedure_service_id") { select(administrateur.services.first.nom) }
click_on("valider")
# then publish
find('#publish-procedure-link').click
expect(find_field('procedure_path').value).to eq 'libelle-de-la-procedure'
fill_in 'lien_site_web', with: 'http://some.website'