Merge pull request #8886 from colinux/fix-delete-admin-without-published-procedure

fix(admin): peut supprimer un admin sans démarche publiée, sans service
This commit is contained in:
Colin Darie 2023-04-11 07:17:54 +00:00 committed by GitHub
commit 54c9690289
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 0 deletions

View file

@ -83,6 +83,8 @@ class Administrateur < ApplicationRecord
end
procedures.with_discarded.each do |procedure|
next if procedure.service.nil?
next_administrateur = procedure.administrateurs.where.not(id: self.id).first
procedure.service.update(administrateur: next_administrateur)
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(Administrateur.find_by(id: administrateur.id)).to be_nil
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
describe '#merge' do