correctif(procedure.clone): ET admin, je souhaite pouvoir cloner une procedure ayant deux groupes d'instructeur ayant le dernier fermé

This commit is contained in:
Martin 2023-05-05 10:19:57 +02:00 committed by simon lehericey
parent e38c6ed73d
commit 2135985583
2 changed files with 15 additions and 1 deletions

View file

@ -25,7 +25,15 @@ class GroupeInstructeur < ApplicationRecord
validates :label, presence: true, allow_nil: false
validates :label, uniqueness: { scope: :procedure }
validates :closed, acceptance: { accept: [false] }, if: -> { closed_changed? && self.procedure.groupe_instructeurs.active.one? }
validates :closed, acceptance: { accept: [false] }, if: -> do
if closed
other_groupes = procedure.groupe_instructeurs - [self]
(other_groupes.map(&:closed) + [closed]).all?
else
false
end
end
before_validation -> { label&.strip! }
after_save :toggle_routing

View file

@ -523,6 +523,12 @@ describe Procedure do
it "should clone instructeurs in the groupe" do
expect(subject.groupe_instructeurs.where(label: "groupe_1").first.instructeurs.map(&:email)).to eq(procedure.groupe_instructeurs.where(label: "groupe_1").first.instructeurs.map(&:email))
end
it 'should clone with success a second group instructeur closed' do
procedure.groupe_instructeurs.last.update(closed: true)
expect { subject }.not_to raise_error
end
end
it 'should reset duree_conservation_etendue_par_ds' do