From d7a9bee63ec8fd428cf6c1a013e28040078510b3 Mon Sep 17 00:00:00 2001 From: Colin Darie Date: Thu, 31 Aug 2023 12:55:01 +0200 Subject: [PATCH] feat(svr): instructor menu actions with svr actions --- .../instructeurs/en_construction_menu_component.rb | 12 +++++++----- .../en_construction_menu_component.html.haml | 12 ++++++------ .../en_contruction_menu_component_spec.rb | 13 +++++++++++++ 3 files changed, 26 insertions(+), 11 deletions(-) diff --git a/app/components/instructeurs/en_construction_menu_component.rb b/app/components/instructeurs/en_construction_menu_component.rb index 0c9473370..453c72c37 100644 --- a/app/components/instructeurs/en_construction_menu_component.rb +++ b/app/components/instructeurs/en_construction_menu_component.rb @@ -3,6 +3,8 @@ class Instructeurs::EnConstructionMenuComponent < ApplicationComponent attr_reader :dossier + delegate :sva_svr_enabled?, to: :"dossier.procedure" + def initialize(dossier:) @dossier = dossier end @@ -22,11 +24,11 @@ class Instructeurs::EnConstructionMenuComponent < ApplicationComponent end end - def sva? - dossier.procedure.sva? - end - - def sva_resume_method + def sva_svr_resume_method dossier.procedure.sva_svr_configuration.resume end + + def sva_svr_human_decision + dossier.procedure.sva_svr_configuration.human_decision + end end diff --git a/app/components/instructeurs/en_construction_menu_component/en_construction_menu_component.html.haml b/app/components/instructeurs/en_construction_menu_component/en_construction_menu_component.html.haml index b5c6c728c..699cc38a4 100644 --- a/app/components/instructeurs/en_construction_menu_component/en_construction_menu_component.html.haml +++ b/app/components/instructeurs/en_construction_menu_component/en_construction_menu_component.html.haml @@ -18,11 +18,11 @@ %h4= t('.request_correction') L’usager sera informé que des modifications sont attendues. - - if sva? - - if sva_resume_method == :reset - Le délai du SVA sera réinitialisé lorqu’il déclarera avoir complété le dossier. + - if sva_svr_enabled? + - if sva_svr_resume_method == :reset + Le délai du #{sva_svr_human_decision} sera réinitialisé lorqu’il déclarera avoir complété le dossier. - else - Le délai du SVA reprendra lorsqu’il déclarera avoir corrigé le dossier. + Le délai du #{sva_svr_human_decision} reprendra lorsqu’il déclarera avoir corrigé le dossier. - menu.with_item(class: "inactive form-inside fr-pt-1v") do = render partial: 'instructeurs/dossiers/instruction_button_motivation', locals: { dossier:, @@ -36,14 +36,14 @@ title: 'Marquer en attente de corrections', confirm: 'Envoyer la demande de corrections ?'} - - if sva? + - if sva_svr_enabled? - menu.with_item do = link_to('#', onclick: "DS.showMotivation(event, 'pending_completion');", role: 'menuitem') do %span.fr-icon.fr-icon-error-warning-line.fr-text-default--warning.fr-mt-1v{ "aria-hidden": "true" } .dropdown-description %h4= t('.request_completion') - L’usager sera informé que son dossier est incomplet. Le délai du SVA sera réinitialisé lorque il déclarera avoir complété le dossier. + L’usager sera informé que son dossier est incomplet. Le délai du #{sva_svr_human_decision} sera réinitialisé lorque il déclarera avoir complété le dossier. - menu.with_item(class: "inactive form-inside fr-pt-1v") do = render partial: 'instructeurs/dossiers/instruction_button_motivation', locals: { dossier:, diff --git a/spec/components/instructeurs/en_contruction_menu_component_spec.rb b/spec/components/instructeurs/en_contruction_menu_component_spec.rb index 0d0912108..92542fb8e 100644 --- a/spec/components/instructeurs/en_contruction_menu_component_spec.rb +++ b/spec/components/instructeurs/en_contruction_menu_component_spec.rb @@ -58,6 +58,19 @@ RSpec.describe Instructeurs::EnConstructionMenuComponent, type: :component do expect(subject).to have_dropdown_item('Demander une correction') expect(subject).to have_dropdown_item('Demander à compléter') expect(subject).to have_dropdown_items(count: 4) + expect(subject).to have_text('Le délai du SVA') + end + end + + context 'when procedure is svr' do + let(:dossier) { create(:dossier, :en_instruction, procedure: create(:procedure, :svr)) } + + it 'renders a dropdown' do + expect(subject).to have_dropdown_title('Demander une correction') + expect(subject).to have_dropdown_item('Demander une correction') + expect(subject).to have_dropdown_item('Demander à compléter') + expect(subject).to have_dropdown_items(count: 4) + expect(subject).to have_text('Le délai du SVR') end end end