remove orphan services when destroying admin

This commit is contained in:
Christophe Robillard 2020-03-16 17:07:39 +01:00
parent 0c6fb79031
commit d8d9b0922d
2 changed files with 13 additions and 0 deletions

View file

@ -85,6 +85,11 @@ class Administrateur < ApplicationRecord
next_administrateur = procedure.administrateurs.where.not(id: self.id).first
procedure.service.update(administrateur: next_administrateur)
end
services.each do |service|
service.destroy unless service.procedures.any?
end
destroy
end
end

View file

@ -59,6 +59,14 @@ describe Administrateur, type: :model do
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
end
# describe '#password_complexity' do