diff --git a/common/djangoapps/student/tests/test_email.py b/common/djangoapps/student/tests/test_email.py index 8baac7c80b..0d9e7c47de 100644 --- a/common/djangoapps/student/tests/test_email.py +++ b/common/djangoapps/student/tests/test_email.py @@ -227,10 +227,15 @@ class ProctoringRequirementsEmailTests(EmailTemplateTagMixin, ModuleStoreTestCas # pylint: disable=no-member def setUp(self): super().setUp() - self.course = CourseFactory(enable_proctored_exams=True) + self.course = None self.user = UserFactory() - def test_send_proctoring_requirements_email(self): + @ddt.data('course_run_1', 'matt''s course', 'matt's run') + def test_send_proctoring_requirements_email(self, course_run_name): + self.course = CourseFactory( + display_name=course_run_name, + enable_proctored_exams=True + ) context = generate_proctoring_requirements_email_context(self.user, self.course.id) send_proctoring_requirements_email(context) self._assert_email() @@ -249,7 +254,7 @@ class ProctoringRequirementsEmailTests(EmailTemplateTagMixin, ModuleStoreTestCas for fragment in self._get_fragments(): assert fragment in text - assert escape(fragment) in html + assert fragment in html def _get_fragments(self): course_module = modulestore().get_course(self.course.id) @@ -267,12 +272,12 @@ class ProctoringRequirementsEmailTests(EmailTemplateTagMixin, ModuleStoreTestCas "your computer's desktop, webcam video, and audio." ), proctoring_provider, - ( + escape( "Carefully review the system requirements as well as the steps to take a proctored " "exam in order to ensure that you are prepared." ), settings.PROCTORING_SETTINGS.get('LINK_URLS', {}).get('faq', ''), - ("Before taking a graded proctored exam, you must have approved ID verification photos."), + escape("Before taking a graded proctored exam, you must have approved ID verification photos."), id_verification_url ] diff --git a/common/templates/student/edx_ace/proctoringrequirements/email/body.html b/common/templates/student/edx_ace/proctoringrequirements/email/body.html index eca71eb5d1..5421a56034 100644 --- a/common/templates/student/edx_ace/proctoringrequirements/email/body.html +++ b/common/templates/student/edx_ace/proctoringrequirements/email/body.html @@ -7,11 +7,11 @@
@@ -23,19 +23,19 @@
- {% filter force_escape %} - {% blocktrans %} + {% autoescape off %} + {% blocktrans %} # xss-lint: disable=django-blocktrans-missing-escape-filter You are enrolled in {{ course_name }} at {{ platform_name }}. This course contains proctored exams. {% endblocktrans %} - {% endfilter %} + {% endautoescape %}
- {% filter force_escape %} - {% blocktrans %} + {% autoescape off %} + {% blocktrans %} # xss-lint: disable=django-blocktrans-missing-escape-filter Proctored exams are timed exams that you take while proctoring software monitors your computer's desktop, webcam video, and audio. Your course uses {{ proctoring_provider }} software for proctoring. {% endblocktrans %} - {% endfilter %} + {% endautoescape %}