diff --git a/lms/djangoapps/ccx/tests/test_field_override_performance.py b/lms/djangoapps/ccx/tests/test_field_override_performance.py index 4cd9db66a9571d5cb1a829551c532b9caa00d488..c507dbd758824f3c4bed65572afabc17f16a02c6 100644 --- a/lms/djangoapps/ccx/tests/test_field_override_performance.py +++ b/lms/djangoapps/ccx/tests/test_field_override_performance.py @@ -244,7 +244,7 @@ class TestFieldOverrideMongoPerformance(FieldOverridePerformanceTestCase): __test__ = True # TODO: decrease query count as part of REVO-28 - QUERY_COUNT = 29 + QUERY_COUNT = 33 TEST_DATA = { # (providers, course_width, enable_ccx, view_as_ccx): ( # # of sql queries to default, @@ -273,7 +273,7 @@ class TestFieldOverrideSplitPerformance(FieldOverridePerformanceTestCase): __test__ = True # TODO: decrease query count as part of REVO-28 - QUERY_COUNT = 29 + QUERY_COUNT = 33 TEST_DATA = { ('no_overrides', 1, True, False): (QUERY_COUNT, 3), diff --git a/lms/djangoapps/courseware/tests/test_views.py b/lms/djangoapps/courseware/tests/test_views.py index bc27d5efe21952859e4f044ec19dfbf435cb672d..92108ef0cc9430d4bed48a737673a07dd757e928 100644 --- a/lms/djangoapps/courseware/tests/test_views.py +++ b/lms/djangoapps/courseware/tests/test_views.py @@ -1492,8 +1492,8 @@ class ProgressPageTests(ProgressPageBaseTests): self.assertContains(resp, u"Download Your Certificate") @ddt.data( - (True, 51), - (False, 50) + (True, 54), + (False, 53) ) @ddt.unpack def test_progress_queries_paced_courses(self, self_paced, query_count): @@ -1506,8 +1506,8 @@ class ProgressPageTests(ProgressPageBaseTests): @patch.dict(settings.FEATURES, {'ASSUME_ZERO_GRADE_IF_ABSENT_FOR_ALL_TESTS': False}) @ddt.data( - (False, 59, 38), - (True, 50, 33) + (False, 62, 41), + (True, 53, 36) ) @ddt.unpack def test_progress_queries(self, enable_waffle, initial, subsequent): @@ -1768,9 +1768,11 @@ class ProgressPageTests(ProgressPageBaseTests): self.assertEqual(response.cert_status, 'invalidated') self.assertEqual(response.title, 'Your certificate has been invalidated') + @override_settings(FEATURES=FEATURES_WITH_DISABLE_HONOR_CERTIFICATE) def test_downloadable_get_cert_data(self): """ - Verify that downloadable cert data is returned if cert is downloadable. + Verify that downloadable cert data is returned if cert is downloadable even + when DISABLE_HONOR_CERTIFICATES feature flag is turned ON. """ self.generate_certificate( "http://www.example.com/certificate.pdf", "honor" diff --git a/lms/djangoapps/courseware/views/views.py b/lms/djangoapps/courseware/views/views.py index c7b7d8d79a55dba910420cb59cad9608be06d18d..53915d69bd019aea31692a461692e04708e32a9a 100644 --- a/lms/djangoapps/courseware/views/views.py +++ b/lms/djangoapps/courseware/views/views.py @@ -1179,7 +1179,8 @@ def _get_cert_data(student, course, enrollment_mode, course_grade=None): Returns: returns dict if course certificate is available else None. """ - if not CourseMode.is_eligible_for_certificate(enrollment_mode): + cert_data = _certificate_message(student, course, enrollment_mode) + if not CourseMode.is_eligible_for_certificate(enrollment_mode, status=cert_data.cert_status): return INELIGIBLE_PASSING_CERT_DATA.get(enrollment_mode) certificates_enabled_for_course = certs_api.cert_generation_enabled(course.id) @@ -1189,7 +1190,6 @@ def _get_cert_data(student, course, enrollment_mode, course_grade=None): if not auto_certs_api.can_show_certificate_message(course, student, course_grade, certificates_enabled_for_course): return - cert_data = _certificate_message(student, course, enrollment_mode) if not certs_api.get_active_web_certificate(course) and not auto_certs_api.is_valid_pdf_certificate(cert_data): return