From ee13ffd149d320bdb6f85c56a52efcc68b5c0044 Mon Sep 17 00:00:00 2001 From: Peter Fogg Date: Tue, 19 Jan 2016 11:25:18 -0500 Subject: [PATCH] Correctly query for any generated certificate, not just eligible ones. --- lms/djangoapps/certificates/queue.py | 2 +- lms/djangoapps/certificates/tests/test_queue.py | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/lms/djangoapps/certificates/queue.py b/lms/djangoapps/certificates/queue.py index 0e08d1678e..d88fee5d9c 100644 --- a/lms/djangoapps/certificates/queue.py +++ b/lms/djangoapps/certificates/queue.py @@ -279,7 +279,7 @@ class XQueueCertInterface(object): if forced_grade: grade['grade'] = forced_grade - cert, created = GeneratedCertificate.eligible_certificates.get_or_create(user=student, course_id=course_id) + cert, created = GeneratedCertificate.objects.get_or_create(user=student, course_id=course_id) # pylint: disable=no-member cert.mode = cert_mode cert.user = student diff --git a/lms/djangoapps/certificates/tests/test_queue.py b/lms/djangoapps/certificates/tests/test_queue.py index cdab93c567..b8807fb610 100644 --- a/lms/djangoapps/certificates/tests/test_queue.py +++ b/lms/djangoapps/certificates/tests/test_queue.py @@ -205,7 +205,8 @@ class XQueueCertInterfaceAddCertificateTest(ModuleStoreTestCase): else: self.assertFalse(mock_send.called) - def test_old_audit_cert_eligible(self): + @ddt.data(True, False) + def test_regen_audit_certs_eligibility(self, eligibility): """ Test that existing audit certificates remain eligible even if cert generation is re-run. @@ -223,7 +224,7 @@ class XQueueCertInterfaceAddCertificateTest(ModuleStoreTestCase): grade='1.0', status=CertificateStatuses.downloadable, mode=GeneratedCertificate.MODES.audit, - eligible_for_certificate=True, + eligible_for_certificate=eligibility, ) # Run grading/cert generation again @@ -232,8 +233,9 @@ class XQueueCertInterfaceAddCertificateTest(ModuleStoreTestCase): mock_send.return_value = (0, None) self.xqueue.add_cert(self.user_2, self.course.id) - self.assertTrue( - GeneratedCertificate.objects.get(user=self.user_2, course_id=self.course.id).eligible_for_certificate # pylint: disable=no-member + self.assertEqual( + GeneratedCertificate.objects.get(user=self.user_2, course_id=self.course.id).eligible_for_certificate, # pylint: disable=no-member + eligibility )