fix(admin): can delete an admin without published procedure

This commit is contained in:
Colin Darie 2023-04-07 16:10:10 +02:00
parent 0d1aa5cf96
commit a413d2fa9c
2 changed files with 11 additions and 0 deletions

View file

@ -83,6 +83,8 @@ class Administrateur < ApplicationRecord
end end
procedures.with_discarded.each do |procedure| procedures.with_discarded.each do |procedure|
next if procedure.service.nil?
next_administrateur = procedure.administrateurs.where.not(id: self.id).first next_administrateur = procedure.administrateurs.where.not(id: self.id).first
procedure.service.update(administrateur: next_administrateur) procedure.service.update(administrateur: next_administrateur)
end end

View file

@ -60,6 +60,15 @@ describe Administrateur, type: :model do
expect(Service.find_by(id: procedure.service.id)).not_to be_nil expect(Service.find_by(id: procedure.service.id)).not_to be_nil
expect(Administrateur.find_by(id: administrateur.id)).to be_nil expect(Administrateur.find_by(id: administrateur.id)).to be_nil
end end
context "proedure without service" do
let!(:procedure) { create(:procedure, :draft, administrateurs: [administrateur, autre_administrateur]) }
it "delete procedure without service" do
administrateur.delete_and_transfer_services
expect(Administrateur.find_by(id: administrateur.id)).to be_nil
end
end
end end
describe '#merge' do describe '#merge' do