Merge pull request #8847 from edx/ziafazal/SOL-1021
ziafazal/SOL-1021: Create Analytics events for certificate actions
This commit is contained in:
@@ -154,7 +154,11 @@ def set_cert_generation_enabled(course_key, is_enabled):
|
||||
|
||||
"""
|
||||
CertificateGenerationCourseSetting.set_enabled_for_course(course_key, is_enabled)
|
||||
|
||||
cert_event_type = 'enabled' if is_enabled else 'disabled'
|
||||
event_name = '.'.join(['edx', 'certificate', 'generation', cert_event_type])
|
||||
tracker.emit(event_name, {
|
||||
'course_id': unicode(course_key),
|
||||
})
|
||||
if is_enabled:
|
||||
log.info(u"Enabled self-generated certificates for course '%s'.", unicode(course_key))
|
||||
else:
|
||||
|
||||
@@ -229,13 +229,13 @@ class GenerateUserCertificatesTest(EventTestMixin, ModuleStoreTestCase):
|
||||
|
||||
@attr('shard_1')
|
||||
@ddt.ddt
|
||||
class CertificateGenerationEnabledTest(TestCase):
|
||||
class CertificateGenerationEnabledTest(EventTestMixin, TestCase):
|
||||
"""Test enabling/disabling self-generated certificates for a course. """
|
||||
|
||||
COURSE_KEY = CourseLocator(org='test', course='test', run='test')
|
||||
|
||||
def setUp(self):
|
||||
super(CertificateGenerationEnabledTest, self).setUp()
|
||||
super(CertificateGenerationEnabledTest, self).setUp('certificates.api.tracker')
|
||||
|
||||
# Since model-based configuration is cached, we need
|
||||
# to clear the cache before each test.
|
||||
@@ -256,6 +256,12 @@ class CertificateGenerationEnabledTest(TestCase):
|
||||
|
||||
if is_course_enabled is not None:
|
||||
certs_api.set_cert_generation_enabled(self.COURSE_KEY, is_course_enabled)
|
||||
cert_event_type = 'enabled' if is_course_enabled else 'disabled'
|
||||
event_name = '.'.join(['edx', 'certificate', 'generation', cert_event_type])
|
||||
self.assert_event_emitted(
|
||||
event_name,
|
||||
course_id=unicode(self.COURSE_KEY),
|
||||
)
|
||||
|
||||
self._assert_enabled_for_course(self.COURSE_KEY, expect_enabled)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user