diff --git a/app/controllers/instructeurs/procedures_controller.rb b/app/controllers/instructeurs/procedures_controller.rb index 7a67d2fafe5..a2c6b750f43 100644 --- a/app/controllers/instructeurs/procedures_controller.rb +++ b/app/controllers/instructeurs/procedures_controller.rb @@ -2,7 +2,7 @@ module Instructeurs class ProceduresController < InstructeurController - before_action :ensure_ownership!, except: [:index, :order_positions, :update_order_positions] + before_action :ensure_ownership!, except: [:index, :order_positions, :update_order_positions, :select_procedure] before_action :ensure_not_super_admin!, only: [:download_export, :exports] ITEMS_PER_PAGE = 100 diff --git a/spec/controllers/instructeurs/procedures_controller_spec.rb b/spec/controllers/instructeurs/procedures_controller_spec.rb index 3364f729d3f..873b063f4c3 100644 --- a/spec/controllers/instructeurs/procedures_controller_spec.rb +++ b/spec/controllers/instructeurs/procedures_controller_spec.rb @@ -1000,4 +1000,47 @@ expect(response.body).not_to include("Déposer") end end + + describe '#select_procedure' do + let(:instructeur) { create(:instructeur) } + + before do + sign_in(instructeur.user) + end + + context 'when procedure_id is present' do + let(:procedure) { create(:procedure) } + + it 'redirects to the procedure path' do + puts "procedure.id: #{procedure.id}" + get :select_procedure, params: { procedure_id: procedure.id } + + expect(response).to redirect_to(instructeur_procedure_path(procedure_id: procedure.id)) + end + end + + context 'when procedure_id is not present' do + it 'redirects to procedures index' do + get :select_procedure + + expect(response).to redirect_to(instructeur_procedures_path) + end + end + + context 'when procedure_id is empty string' do + it 'redirects to procedures index' do + get :select_procedure, params: { procedure_id: '' } + + expect(response).to redirect_to(instructeur_procedures_path) + end + end + + context 'when procedure_id is nil' do + it 'redirects to procedures index' do + get :select_procedure, params: { procedure_id: nil } + + expect(response).to redirect_to(instructeur_procedures_path) + end + end + end end