Skip to content

Commit a2f82e7

Browse files
authored
Merge pull request #3668 from nhsuk/separate-clinic-templates-for-cwpt
Implement separate email templates for CWPT and other organisations
2 parents b963d9e + 8fc5782 commit a2f82e7

3 files changed

Lines changed: 53 additions & 6 deletions

File tree

app/models/session_notification.rb

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,11 +100,22 @@ def self.create_and_send!(
100100
sent_by: current_user
101101
}
102102

103-
EmailDeliveryJob.perform_later(:"session_#{type}", **params)
103+
template_name = compute_template_name(type, session.organisation)
104+
105+
EmailDeliveryJob.perform_later(template_name, **params)
104106

105107
next if type == :school_reminder && !parent.phone_receive_updates
106108

107-
SMSDeliveryJob.perform_later(:"session_#{type}", **params)
109+
SMSDeliveryJob.perform_later(template_name, **params)
108110
end
109111
end
112+
113+
def self.compute_template_name(type, organisation)
114+
template_names = [
115+
:"session_#{type}_#{organisation.ods_code.downcase}",
116+
:"session_#{type}"
117+
]
118+
119+
template_names.find { GOVUK_NOTIFY_EMAIL_TEMPLATES.key?(it) }
120+
end
110121
end

config/initializers/govuk_notify.rb

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,11 @@
1919
"c942ce27-590e-4387-9aa8-5b9b4f2796d1",
2020
consent_school_subsequent_reminder_hpv:
2121
"5f70d21d-00b6-41e6-bdc9-e64455972b43",
22-
session_clinic_initial_invitation: "fc99ac81-9eeb-4df8-9aa0-04f0eb48e37f",
23-
session_clinic_subsequent_invitation: "eee59c1b-3af4-4ccd-8653-940887066390",
22+
session_clinic_initial_invitation: "88d21cfc-39f6-44a2-98c3-9588e7214ae4",
23+
session_clinic_subsequent_invitation: "a86a3b3f-a848-41d8-9a6f-d38174981388",
24+
session_clinic_initial_invitation_ryg: "fc99ac81-9eeb-4df8-9aa0-04f0eb48e37f",
25+
session_clinic_subsequent_invitation_ryg:
26+
"eee59c1b-3af4-4ccd-8653-940887066390",
2427
session_school_reminder: "8b8a9566-bb03-4b3c-8abc-5bd5a4b8797d",
2528
triage_vaccination_at_clinic: "9faef718-bd76-4c30-93ea-fbe8584388a6",
2629
triage_vaccination_will_happen: "279c517c-4c52-4a69-96cb-31355bfa4e21",
@@ -39,8 +42,11 @@
3942
consent_confirmation_refused: "eb34f3ab-0c58-4e56-b6b1-2c179270dfc3",
4043
consent_school_reminder: "ee3d36b1-4682-4eb0-a74a-7e0f6c9d0598",
4144
consent_school_request: "c7bd8150-d09e-4607-817d-db75c9a6a966",
42-
session_clinic_initial_invitation: "8ef5712f-bb7f-4911-8f3b-19df6f8a7179",
43-
session_clinic_subsequent_invitation: "018f146d-e7b7-4b63-ae26-bb07ca6fe2f9",
45+
session_clinic_initial_invitation: "790c9c72-729a-40d6-b44d-d480e38f0990",
46+
session_clinic_subsequent_invitation: "ce7a6a1b-465e-4be4-b9e0-47ddb64f3adb",
47+
session_clinic_initial_invitation_ryg: "8ef5712f-bb7f-4911-8f3b-19df6f8a7179",
48+
session_clinic_subsequent_invitation_ryg:
49+
"018f146d-e7b7-4b63-ae26-bb07ca6fe2f9",
4450
session_school_reminder: "6e4c514d-fcc9-4bc8-b7eb-e222a1445681",
4551
vaccination_administered: "395a3ea1-df07-4dd6-8af1-64cc597ef383",
4652
vaccination_not_administered: "aae061e0-b847-4d4c-a87a-12508f95a302"

spec/models/session_notification_spec.rb

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,36 @@
175175
)
176176
end
177177

178+
context "when the organisation is Coventry & Warwickshire Partnership NHS Trust (CWPT)" do
179+
let(:organisation) do
180+
create(:organisation, ods_code: "RYG", programmes:)
181+
end
182+
183+
it "enqueues an email using the CWPT-specific template" do
184+
expect { create_and_send! }.to have_delivered_email(
185+
:session_clinic_initial_invitation_ryg
186+
).with(
187+
parent: parents.first,
188+
patient: patient,
189+
programmes:,
190+
session: session,
191+
sent_by: current_user
192+
)
193+
end
194+
195+
it "enqueues an SMS using the CWPT-specific template" do
196+
expect { create_and_send! }.to have_delivered_sms(
197+
:session_clinic_initial_invitation_ryg
198+
).with(
199+
parent: parents.first,
200+
patient: patient,
201+
programmes:,
202+
session: session,
203+
sent_by: current_user
204+
)
205+
end
206+
end
207+
178208
context "when parent doesn't want to receive updates by text" do
179209
let(:parent) { parents.first }
180210

0 commit comments

Comments
 (0)