clean(administrateur): remove dead code

This commit is contained in:
Eric Leroy-Terquem 2024-03-19 10:05:28 +01:00
parent 6a77bbb6c9
commit 9139bfbf48
2 changed files with 0 additions and 65 deletions

View file

@ -72,30 +72,6 @@ class Administrateur < ApplicationRecord
procedures.with_discarded.all? { |p| p.administrateurs.count > 1 || p.dossiers.empty? }
end
def delete_and_transfer_services
if !can_be_deleted?
fail "Impossible de supprimer cet administrateur car il a des démarches où il est le seul administrateur"
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)
if (procedure.administrateurs.count == 1 && procedure.dossiers.empty?)
procedure.destroy
end
end
services.each do |service|
# We can't destroy a service if it has procedures, even if those procedures are archived
service.destroy unless service.procedures.with_discarded.any?
end
AdministrateursProcedure.where(administrateur_id: self.id).delete_all
destroy
end
def merge(old_admin)
return if old_admin.nil?

View file

@ -49,47 +49,6 @@ describe Administrateur, type: :model do
end
end
describe '#delete_and_transfer_services' do
let!(:administrateur) { create(:administrateur) }
let!(:autre_administrateur) { create(:administrateur) }
let!(:procedure) { create(:procedure, :with_service, administrateurs: [administrateur, autre_administrateur]) }
let(:service) { procedure.service }
it "delete and transfer services to other admin" do
service.update(administrateur: administrateur)
administrateur.delete_and_transfer_services
expect(Administrateur.find_by(id: administrateur.id)).to be_nil
expect(service.reload.administrateur).to eq(autre_administrateur)
end
it "delete service if not associated to procedures" do
service_without_procedure = create(:service, administrateur: administrateur)
administrateur.delete_and_transfer_services
expect(Service.find_by(id: service_without_procedure.id)).to be_nil
expect(Administrateur.find_by(id: administrateur.id)).to be_nil
end
it "does not delete service if associated to an archived procedure" do
service.update(administrateur: administrateur)
procedure.discard!
administrateur.delete_and_transfer_services
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
let(:new_admin) { create(:administrateur) }
let(:old_admin) { create(:administrateur) }