instructeur can destroy groupe instructeur service

This commit is contained in:
Christophe Robillard 2023-08-14 11:59:53 +02:00
parent 41b2c9355b
commit e9ff4292fa
3 changed files with 25 additions and 0 deletions

View file

@ -32,6 +32,12 @@ module Instructeurs
end
end
def destroy
assign_procedure_and_groupe_instructeur
@groupe_instructeur.contact_information.destroy
redirect_to instructeur_groupe_path(@groupe_instructeur, procedure_id: @procedure.id), notice: "Les informations de contact ont bien été supprimées"
end
private
def assign_procedure_and_groupe_instructeur

View file

@ -30,3 +30,9 @@
.sticky-action-footer
= f.submit "Enregistrer", class: "fr-btn fr-mr-2w"
= link_to "Annuler", instructeur_groupe_path(@groupe_instructeur, procedure_id: procedure_id), class: "fr-btn fr-btn--secondary"
- if [ "edit", "update"].include? params[:action]
= link_to 'Supprimer',
instructeur_groupe_contact_information_path(procedure_id: @procedure.id, groupe_id: @groupe_instructeur.id),
method: :delete,
data: { confirm: "Confirmez vous la suppression de ces informations de contact ?" },
class: 'fr-btn fr-btn--secondary'

View file

@ -91,4 +91,17 @@ describe Instructeurs::ContactInformationsController, type: :controller do
it { expect(response).to render_template(:edit) }
end
end
describe '#destroy' do
let(:contact_information) { create(:contact_information, groupe_instructeur: gi) }
before do
delete :destroy, params: { id: contact_information.id, procedure_id: procedure.id, groupe_id: gi.id }
end
it { expect { contact_information.reload }.to raise_error(ActiveRecord::RecordNotFound) }
it { expect(flash.alert).to be_nil }
it { expect(flash.notice).to eq("Les informations de contact ont bien été supprimées") }
it { expect(response).to redirect_to(instructeur_groupe_path(gi, procedure_id: procedure.id)) }
end
end