Procedure add missing_instructeurs?

This commit is contained in:
simon lehericey 2019-08-21 13:53:53 +02:00
parent 64d28dba2f
commit ba24958035
3 changed files with 24 additions and 4 deletions

View file

@ -411,7 +411,7 @@ class Procedure < ApplicationRecord
result << :service
end
if instructeurs.empty?
if missing_instructeurs?
result << :instructeurs
end
@ -482,6 +482,10 @@ class Procedure < ApplicationRecord
groupe_instructeurs.find_by(label: GroupeInstructeur::DEFAULT_LABEL)
end
def missing_instructeurs?
!AssignTo.exists?(groupe_instructeur: groupe_instructeurs)
end
private
def move_type_de_champ_attributes(types_de_champ, type_de_champ, new_index)

View file

@ -7,7 +7,7 @@
- if @procedure.brouillon?
- if @procedure.missing_steps.present?
- missing_elements = []
- if @procedure.instructeurs.empty?
- if @procedure.missing_instructeurs?
- missing_elements << 'des instructeurs'
- if @procedure.service.nil?
- missing_elements << 'un service'
@ -106,9 +106,9 @@
- else
.alert.alert-info
Pour pouvoir tester cette démarche, vous devez dabord lui affecter
- if @procedure.instructeurs.empty?
- if @procedure.missing_instructeurs?
= link_to("des instructeurs", admin_procedure_assigns_path(@procedure))
- if @procedure.instructeurs.empty? && @procedure.service.nil?
- if @procedure.missing_instructeurs? && @procedure.service.nil?
et
- if @procedure.service.nil?
= link_to("un service", services_path(procedure_id: @procedure))

View file

@ -889,4 +889,20 @@ describe Procedure do
it { expect(procedure.groupe_instructeurs.count).to eq(1) }
it { expect(procedure.groupe_instructeurs.first.label).to eq(GroupeInstructeur::DEFAULT_LABEL) }
end
describe '.missing_instructeurs?' do
let!(:procedure) { create(:procedure) }
subject { procedure.missing_instructeurs? }
it { is_expected.to be true }
context 'when an instructeur is assign to this procedure' do
let!(:instructeur) { create(:instructeur) }
before { instructeur.assign_to_procedure(procedure) }
it { is_expected.to be false }
end
end
end