Skip to content

Commit eb03d9f

Browse files
authored
Merge pull request #3978 from nhsuk/triage-delay-clinic-invitation
Fix: add generic triage clinic invitation email template for non-CWPT organisations
2 parents c67803a + 279c475 commit eb03d9f

3 files changed

Lines changed: 27 additions & 2 deletions

File tree

app/controllers/concerns/triage_mailer_concern.rb

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ module TriageMailerConcern
66
def send_triage_confirmation(patient_session, consent)
77
session = patient_session.session
88
patient = patient_session.patient
9+
organisation = patient_session.organisation
910

1011
return unless patient.send_notifications?
1112
return if consent.via_self_consent?
@@ -17,7 +18,9 @@ def send_triage_confirmation(patient_session, consent)
1718
elsif vaccination_wont_happen?(patient, consent)
1819
EmailDeliveryJob.perform_later(:triage_vaccination_wont_happen, **params)
1920
elsif vaccination_at_clinic?(patient, consent)
20-
EmailDeliveryJob.perform_later(:triage_vaccination_at_clinic, **params)
21+
email_template =
22+
resolve_email_template(:triage_vaccination_at_clinic, organisation)
23+
EmailDeliveryJob.perform_later(email_template, **params)
2124
elsif consent.requires_triage?
2225
EmailDeliveryJob.perform_later(:consent_confirmation_triage, **params)
2326
elsif consent.response_refused?
@@ -54,4 +57,12 @@ def vaccination_at_clinic?(patient, consent)
5457
consent.requires_triage? &&
5558
patient.triage_status(programme_id:).delay_vaccination?
5659
end
60+
61+
def resolve_email_template(template_name, organisation)
62+
template_names = [
63+
:"#{template_name}_#{organisation.ods_code.downcase}",
64+
template_name
65+
]
66+
template_names.find { GOVUK_NOTIFY_EMAIL_TEMPLATES.key?(it) }
67+
end
5768
end

config/initializers/govuk_notify.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@
2525
session_clinic_subsequent_invitation_ryg:
2626
"eee59c1b-3af4-4ccd-8653-940887066390",
2727
session_school_reminder: "8b8a9566-bb03-4b3c-8abc-5bd5a4b8797d",
28-
triage_vaccination_at_clinic: "9faef718-bd76-4c30-93ea-fbe8584388a6",
28+
triage_vaccination_at_clinic: "3c7461bd-e3cf-4ff9-9053-b4e87490aa45",
29+
triage_vaccination_at_clinic_ryg: "9faef718-bd76-4c30-93ea-fbe8584388a6",
2930
triage_vaccination_will_happen: "279c517c-4c52-4a69-96cb-31355bfa4e21",
3031
triage_vaccination_wont_happen: "d1faf47e-ccc3-4481-975b-1ec34211a21f",
3132
vaccination_administered_flu: "7238ee27-5840-40e5-b9b9-3130ba4cd4fa",

spec/controllers/concerns/triage_mailer_concern_spec.rb

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,19 @@ def initialize(current_user:)
7575
it "doesn't send a text message" do
7676
expect { send_triage_confirmation }.not_to have_delivered_sms
7777
end
78+
79+
context "when the organisation is Coventry & Warwickshire Partnership NHS Trust (CWPT)" do
80+
let(:session) do
81+
create(:session, programmes: [programme], organisation:)
82+
end
83+
let(:organisation) { create(:organisation, ods_code: "RYG") }
84+
85+
it "enqueues an email using the CWPT-specific template" do
86+
expect { send_triage_confirmation }.to have_delivered_email(
87+
:triage_vaccination_at_clinic_ryg
88+
).with(consent:, session:, sent_by: current_user)
89+
end
90+
end
7891
end
7992

8093
context "when the parents agree and triage is not required" do

0 commit comments

Comments
 (0)