From 22d3b028079893c59a6cdbf59e8d6525fd2d17dc Mon Sep 17 00:00:00 2001 From: rabiaiftikhar Date: Tue, 13 Jun 2017 16:29:17 +0500 Subject: [PATCH] respond to comments --- lms/djangoapps/certificates/tests/test_signals.py | 4 +++- openedx/core/djangoapps/models/course_details.py | 8 ++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/lms/djangoapps/certificates/tests/test_signals.py b/lms/djangoapps/certificates/tests/test_signals.py index 00374b080e..1f90f8b492 100644 --- a/lms/djangoapps/certificates/tests/test_signals.py +++ b/lms/djangoapps/certificates/tests/test_signals.py @@ -22,19 +22,21 @@ class SelfGeneratedCertsSignalTest(ModuleStoreTestCase): # Enable the feature CertificateGenerationConfiguration.objects.create(enabled=True) - def test_cert_generation_flag_on_pacing_toggle(self): """ Verify that signal enables or disables self-generated certificates according to course-pacing. """ + #self-generation of cert disables by default self.assertFalse(certs_api.cert_generation_enabled(self.course.id)) _listen_for_course_pacing_changed('store', self.course.id, self.course.self_paced) + #verify that self-generation of cert is enabled for self-paced course self.assertTrue(certs_api.cert_generation_enabled(self.course.id)) self.course.self_paced = False self.store.update_item(self.course, self.user.id) _listen_for_course_pacing_changed('store', self.course.id, self.course.self_paced) + # verify that self-generation of cert is disabled for instructor-paced course self.assertFalse(certs_api.cert_generation_enabled(self.course.id)) diff --git a/openedx/core/djangoapps/models/course_details.py b/openedx/core/djangoapps/models/course_details.py index 0765fcc518..298a72741f 100644 --- a/openedx/core/djangoapps/models/course_details.py +++ b/openedx/core/djangoapps/models/course_details.py @@ -280,6 +280,10 @@ class CourseDetails(object): if dirty: module_store.update_item(descriptor, user.id) + # fires a signal indicating that the course pacing has changed + if is_pacing_changed: + COURSE_PACING_CHANGE.send(sender=None, course_key=course_key, course_self_paced=descriptor.self_paced) + # NOTE: below auto writes to the db w/o verifying that any of # the fields actually changed to make faster, could compare # against db or could have client send over a list of which @@ -290,10 +294,6 @@ class CourseDetails(object): cls.update_about_video(descriptor, jsondict['intro_video'], user.id) - # fires the signal that course pacing has changed after changes are reflected in db - if is_pacing_changed: - COURSE_PACING_CHANGE.send(sender=None, course_key=course_key, course_self_paced=descriptor.self_paced) - # Could just return jsondict w/o doing any db reads, but I put # the reads in as a means to confirm it persisted correctly return CourseDetails.fetch(course_key)