@@ -143,9 +143,27 @@ def _destroy_test_user(email_name):
143143 # cycle through all the services created by this user, remove associated entities
144144 services = Service .query .filter_by (created_by = user ).filter (Service .id != current_app .config ["CYPRESS_SERVICE_ID" ])
145145 for service in services .all ():
146- TemplateHistory .query .filter_by (service_id = service .id ).delete ()
147-
148- Template .query .filter_by (service_id = service .id ).delete ()
146+ # Delete template history except for smoke test templates
147+ TemplateHistory .query .filter (
148+ TemplateHistory .service_id == service .id ,
149+ ~ TemplateHistory .id .in_ (
150+ [
151+ current_app .config ["CYPRESS_SMOKE_TEST_EMAIL_TEMPLATE_ID" ],
152+ current_app .config ["CYPRESS_SMOKE_TEST_SMS_TEMPLATE_ID" ],
153+ ]
154+ ),
155+ ).delete ()
156+
157+ # Delete templates except for smoke test templates
158+ Template .query .filter (
159+ Template .service_id == service .id ,
160+ ~ Template .id .in_ (
161+ [
162+ current_app .config ["CYPRESS_SMOKE_TEST_EMAIL_TEMPLATE_ID" ],
163+ current_app .config ["CYPRESS_SMOKE_TEST_SMS_TEMPLATE_ID" ],
164+ ]
165+ ),
166+ ).delete ()
149167 AnnualBilling .query .filter_by (service_id = service .id ).delete ()
150168 ServicePermission .query .filter_by (service_id = service .id ).delete ()
151169 Permission .query .filter_by (service_id = service .id ).delete ()
@@ -154,8 +172,26 @@ def _destroy_test_user(email_name):
154172
155173 # remove all entities related to the user itself
156174 TemplateRedacted .query .filter_by (updated_by = user ).delete ()
157- TemplateHistory .query .filter_by (created_by = user ).delete ()
158- Template .query .filter_by (created_by = user ).delete ()
175+ # Delete template history except for smoke test templates
176+ TemplateHistory .query .filter (
177+ TemplateHistory .created_by == user ,
178+ ~ TemplateHistory .id .in_ (
179+ [
180+ current_app .config ["CYPRESS_SMOKE_TEST_EMAIL_TEMPLATE_ID" ],
181+ current_app .config ["CYPRESS_SMOKE_TEST_SMS_TEMPLATE_ID" ],
182+ ]
183+ ),
184+ ).delete ()
185+ # Delete templates except for smoke test templates
186+ Template .query .filter (
187+ Template .created_by == user ,
188+ ~ Template .id .in_ (
189+ [
190+ current_app .config ["CYPRESS_SMOKE_TEST_EMAIL_TEMPLATE_ID" ],
191+ current_app .config ["CYPRESS_SMOKE_TEST_SMS_TEMPLATE_ID" ],
192+ ]
193+ ),
194+ ).delete ()
159195 Permission .query .filter_by (user = user ).delete ()
160196 LoginEvent .query .filter_by (user = user ).delete ()
161197 ServiceUser .query .filter_by (user_id = user .id ).delete ()
0 commit comments