From ba24958035309e1120095f149ce257e7346dbd39 Mon Sep 17 00:00:00 2001 From: simon lehericey Date: Wed, 21 Aug 2019 13:53:53 +0200 Subject: [PATCH] Procedure add missing_instructeurs? --- app/models/procedure.rb | 6 +++++- app/views/admin/procedures/show.html.haml | 6 +++--- spec/models/procedure_spec.rb | 16 ++++++++++++++++ 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/app/models/procedure.rb b/app/models/procedure.rb index 56a4637ec..0a82131df 100644 --- a/app/models/procedure.rb +++ b/app/models/procedure.rb @@ -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) diff --git a/app/views/admin/procedures/show.html.haml b/app/views/admin/procedures/show.html.haml index 94ae06481..f1e353499 100644 --- a/app/views/admin/procedures/show.html.haml +++ b/app/views/admin/procedures/show.html.haml @@ -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 d’abord 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)) diff --git a/spec/models/procedure_spec.rb b/spec/models/procedure_spec.rb index 741a87de7..ab4dad111 100644 --- a/spec/models/procedure_spec.rb +++ b/spec/models/procedure_spec.rb @@ -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