fix(admin): can delete an admin without published procedure
This commit is contained in:
parent
0d1aa5cf96
commit
a413d2fa9c
2 changed files with 11 additions and 0 deletions
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Add table
Reference in a new issue