fix(sva): add sva/svr decision date tag for relevant template emails
Closes #10033
This commit is contained in:
parent
861f7359b1
commit
2b07826202
4 changed files with 38 additions and 2 deletions
|
@ -50,6 +50,6 @@ module MailTemplateConcern
|
||||||
end
|
end
|
||||||
|
|
||||||
def dossier_tags
|
def dossier_tags
|
||||||
TagsSubstitutionConcern::DOSSIER_TAGS + TagsSubstitutionConcern::DOSSIER_TAGS_FOR_MAIL
|
super + TagsSubstitutionConcern::DOSSIER_TAGS_FOR_MAIL
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -158,6 +158,14 @@ module TagsSubstitutionConcern
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
DOSSIER_SVA_SVR_DECISION_DATE_TAG = {
|
||||||
|
id: 'dossier_sva_svr_decision_on',
|
||||||
|
libelle: 'date prévisionnelle SVA/SVR',
|
||||||
|
description: 'Date prévisionnelle de décision automatique par le SVA/SVR',
|
||||||
|
lambda: -> (d) { format_date(d.sva_svr_decision_on) },
|
||||||
|
available_for_states: Dossier.states.fetch(:en_instruction)
|
||||||
|
}
|
||||||
|
|
||||||
INDIVIDUAL_TAGS = [
|
INDIVIDUAL_TAGS = [
|
||||||
{
|
{
|
||||||
id: 'individual_gender',
|
id: 'individual_gender',
|
||||||
|
@ -335,7 +343,13 @@ module TagsSubstitutionConcern
|
||||||
|
|
||||||
def dossier_tags
|
def dossier_tags
|
||||||
# Overridden by MailTemplateConcern
|
# Overridden by MailTemplateConcern
|
||||||
DOSSIER_TAGS
|
DOSSIER_TAGS + contextual_dossier_tags
|
||||||
|
end
|
||||||
|
|
||||||
|
def contextual_dossier_tags
|
||||||
|
tags = []
|
||||||
|
tags << DOSSIER_SVA_SVR_DECISION_DATE_TAG if respond_to?(:procedure) && procedure.sva_svr_enabled?
|
||||||
|
tags
|
||||||
end
|
end
|
||||||
|
|
||||||
def tags_for_dossier_state(tags)
|
def tags_for_dossier_state(tags)
|
||||||
|
|
|
@ -141,6 +141,14 @@ describe MailTemplateConcern do
|
||||||
let(:mail) { create(:without_continuation_mail, procedure: procedure) }
|
let(:mail) { create(:without_continuation_mail, procedure: procedure) }
|
||||||
it_behaves_like 'inserting the --lien document justificatif-- tag'
|
it_behaves_like 'inserting the --lien document justificatif-- tag'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'sva/svr' do
|
||||||
|
let(:procedure) { create(:procedure, :sva) }
|
||||||
|
let(:received_mail) { create(:received_mail, procedure:) }
|
||||||
|
it "treats date de passage en instruction as a tag" do
|
||||||
|
expect(received_mail.tags).to include(include({ libelle: 'date prévisionnelle SVA/SVR' }))
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#replace_tags' do
|
describe '#replace_tags' do
|
||||||
|
|
|
@ -413,6 +413,20 @@ describe TagsSubstitutionConcern, type: :model do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context "with date decision sva/svr" do
|
||||||
|
let(:template) { '--date prévisionnelle SVA/SVR--' }
|
||||||
|
let(:procedure) { create(:procedure, :published, :sva) }
|
||||||
|
let(:state) { dossier.state }
|
||||||
|
|
||||||
|
before do
|
||||||
|
dossier.passer_en_construction!
|
||||||
|
dossier.process_sva_svr!
|
||||||
|
dossier.update(sva_svr_decision_on: Date.parse("2024-09-20"))
|
||||||
|
end
|
||||||
|
|
||||||
|
it { is_expected.to eq('20/09/2024') }
|
||||||
|
end
|
||||||
|
|
||||||
context "when the template has a libellé démarche tag" do
|
context "when the template has a libellé démarche tag" do
|
||||||
let(:template) { 'body --libellé démarche--' }
|
let(:template) { 'body --libellé démarche--' }
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue