Commit 6e9c6207 by Peter Fogg

Merge pull request #11264 from edx/peter-fogg/fix-audit-cert-gen

Correctly query for any generated certificate, not just eligible ones.
parents 37d6192e ee13ffd1
...@@ -279,7 +279,7 @@ class XQueueCertInterface(object): ...@@ -279,7 +279,7 @@ class XQueueCertInterface(object):
if forced_grade: if forced_grade:
grade['grade'] = 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.mode = cert_mode
cert.user = student cert.user = student
......
...@@ -205,7 +205,8 @@ class XQueueCertInterfaceAddCertificateTest(ModuleStoreTestCase): ...@@ -205,7 +205,8 @@ class XQueueCertInterfaceAddCertificateTest(ModuleStoreTestCase):
else: else:
self.assertFalse(mock_send.called) 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 Test that existing audit certificates remain eligible even if cert
generation is re-run. generation is re-run.
...@@ -223,7 +224,7 @@ class XQueueCertInterfaceAddCertificateTest(ModuleStoreTestCase): ...@@ -223,7 +224,7 @@ class XQueueCertInterfaceAddCertificateTest(ModuleStoreTestCase):
grade='1.0', grade='1.0',
status=CertificateStatuses.downloadable, status=CertificateStatuses.downloadable,
mode=GeneratedCertificate.MODES.audit, mode=GeneratedCertificate.MODES.audit,
eligible_for_certificate=True, eligible_for_certificate=eligibility,
) )
# Run grading/cert generation again # Run grading/cert generation again
...@@ -232,8 +233,9 @@ class XQueueCertInterfaceAddCertificateTest(ModuleStoreTestCase): ...@@ -232,8 +233,9 @@ class XQueueCertInterfaceAddCertificateTest(ModuleStoreTestCase):
mock_send.return_value = (0, None) mock_send.return_value = (0, None)
self.xqueue.add_cert(self.user_2, self.course.id) self.xqueue.add_cert(self.user_2, self.course.id)
self.assertTrue( self.assertEqual(
GeneratedCertificate.objects.get(user=self.user_2, course_id=self.course.id).eligible_for_certificate # pylint: disable=no-member GeneratedCertificate.objects.get(user=self.user_2, course_id=self.course.id).eligible_for_certificate, # pylint: disable=no-member
eligibility
) )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment