add instructeur feedback on accuse de lecture agreement

This commit is contained in:
Lisa Durand 2024-04-15 10:37:47 +02:00
parent a29719a15c
commit c6e2e6445c
6 changed files with 48 additions and 0 deletions

View file

@ -1184,6 +1184,10 @@ class Dossier < ApplicationRecord
procedure.accuse_lecture? && termine? && accuse_lecture_agreement_at.blank? procedure.accuse_lecture? && termine? && accuse_lecture_agreement_at.blank?
end end
def termine_and_accuse_lecture?
procedure.accuse_lecture? && termine?
end
private private
def champs_by_public_id def champs_by_public_id

View file

@ -5,6 +5,15 @@
.fr-container.counter-start-header-section.dossier-show{ class: class_names("dossier-show-instructeur" => profile =="instructeur") } .fr-container.counter-start-header-section.dossier-show{ class: class_names("dossier-show-instructeur" => profile =="instructeur") }
.fr-grid-row.fr-grid-row--center .fr-grid-row.fr-grid-row--center
.fr-col-12.fr-col-xl-8 .fr-col-12.fr-col-xl-8
- if profile == 'instructeur' && dossier.termine_and_accuse_lecture?
= render Dsfr::CalloutComponent.new(title: nil) do |c|
- c.with_html_body do
= t('views.shared.dossiers.demande.accuse_lecture')
- if dossier.accuse_lecture_agreement_at.present?
= t('views.shared.dossiers.demande.accuse_lecture_with_agreement', agreement: l(dossier.accuse_lecture_agreement_at, format: :long))
- else
= t('views.shared.dossiers.demande.accuse_lecture_without_agreement')
%h2.fr-h6.fr-background-alt--grey.fr-mb-0 %h2.fr-h6.fr-background-alt--grey.fr-mb-0
.flex-grow.fr-py-3v.fr-px-2w= t('views.shared.dossiers.demande.en_construction') .flex-grow.fr-py-3v.fr-px-2w= t('views.shared.dossiers.demande.en_construction')

View file

@ -362,6 +362,9 @@ en:
form: "Form" form: "Form"
edit_siret: "Edit SIRET" edit_siret: "Edit SIRET"
edit_identity: "Edit identity data" edit_identity: "Edit identity data"
accuse_lecture: This procedure is subject to a reading receipt.
accuse_lecture_with_agreement: The user has read the decision taken on his file on %{agreement}.
accuse_lecture_without_agreement: The user has not yet learned of the decision on their file.
gestionnaires: gestionnaires:
groupe_gestionnaires: groupe_gestionnaires:
delete: Delete delete: Delete

View file

@ -365,6 +365,9 @@ fr:
form: "Sections du formulaire" form: "Sections du formulaire"
edit_siret: "Modifier le SIRET" edit_siret: "Modifier le SIRET"
edit_identity: "Modifier lidentité" edit_identity: "Modifier lidentité"
accuse_lecture: Cette démarche est soumise à un accusé de lecture.
accuse_lecture_with_agreement: Lusager a pris connaissance de la décision concernant son dossier le %{agreement}.
accuse_lecture_without_agreement: Lusager na pas encore pris connaissance de la décision concernant son dossier.
gestionnaires: gestionnaires:
groupe_gestionnaires: groupe_gestionnaires:
delete: Supprimer delete: Supprimer

View file

@ -173,4 +173,32 @@ describe 'instructeurs/dossiers/show', type: :view do
end end
end end
end end
describe 'accuse de lecture ' do
context 'dossier not termine' do
let(:dossier) { create(:dossier, :en_instruction, procedure: create(:procedure, :accuse_lecture)) }
it 'does not display a text about accuse de lecture for instructeur' do
expect(subject).not_to have_text('Cette démarche est soumise à un accusé de lecture')
end
end
context 'dossier termine with accuse de lecture not accepted by user' do
let(:dossier) { create(:dossier, :accepte, procedure: create(:procedure, :accuse_lecture)) }
it 'displays a text about accuse de lecture for instructeur' do
expect(subject).to have_text('Cette démarche est soumise à un accusé de lecture')
expect(subject).to have_text('Lusager na pas encore pris connaissance de la décision concernant son dossier')
end
end
context 'dossier termine with accuse de lecture accepted by user' do
let(:dossier) { create(:dossier, :accepte, accuse_lecture_agreement_at: Time.zone.now, procedure: create(:procedure, :accuse_lecture)) }
it 'displays a text about accuse de lecture for instructeur' do
expect(subject).to have_text('Cette démarche est soumise à un accusé de lecture')
expect(subject).to have_text('Lusager a pris connaissance de la décision concernant son dossier le')
end
end
end
end end

View file

@ -75,6 +75,7 @@ describe 'users/dossiers/demande', type: :view do
it 'display information about accuse de lecture and not the motivation' do it 'display information about accuse de lecture and not the motivation' do
expect(rendered).to have_text('Cette démarche est soumise à un accusé de lecture.') expect(rendered).to have_text('Cette démarche est soumise à un accusé de lecture.')
expect(rendered).not_to have_text('Motivation') expect(rendered).not_to have_text('Motivation')
expect(rendered).not_to have_text('Lusager na pas encore pris connaissance de la décision concernant son dossier')
end end
end end
end end