diff --git a/lms/djangoapps/certificates/tests/test_webview_views.py b/lms/djangoapps/certificates/tests/test_webview_views.py index 53b5efc8e7..d41c23961e 100644 --- a/lms/djangoapps/certificates/tests/test_webview_views.py +++ b/lms/djangoapps/certificates/tests/test_webview_views.py @@ -679,6 +679,27 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase) response = self.client.get(test_url) self.assertIn('', response.content) + @override_settings(FEATURES=FEATURES_WITH_CERTS_ENABLED) + def test_html_lang_attribute_is_dynamic_for_certificate_html_view(self): + """ + Tests that Certificate HTML Web View's lang attribute is based on user language. + """ + self._add_course_certificates(count=1, signatory_count=2) + test_url = get_certificate_url( + user_id=self.user.id, + course_id=unicode(self.course.id) + ) + + user_language = 'fr' + self.client.cookies[settings.LANGUAGE_COOKIE] = user_language + response = self.client.get(test_url) + self.assertIn('', response.content) + + user_language = 'ar' + self.client.cookies[settings.LANGUAGE_COOKIE] = user_language + response = self.client.get(test_url) + self.assertIn('', response.content) + @override_settings(FEATURES=FEATURES_WITH_CERTS_ENABLED) def test_html_view_for_non_viewable_certificate_and_for_student_user(self): """ diff --git a/lms/djangoapps/certificates/views/webview.py b/lms/djangoapps/certificates/views/webview.py index 1c9b9659a4..ae078065ac 100644 --- a/lms/djangoapps/certificates/views/webview.py +++ b/lms/djangoapps/certificates/views/webview.py @@ -662,7 +662,8 @@ def _get_custom_template_and_language(course_id, course_mode, course_language): if template and template.language: return (template, closest_released_language) elif template: - return (template, settings.LANGUAGE_CODE) + user_language = translation.get_language() + return (template, user_language) else: return (None, None)