From 446270c0ff765fa4c16f0bda4f4f068a2b0d8078 Mon Sep 17 00:00:00 2001 From: Usman Khalid <2200617@gmail.com> Date: Tue, 1 Jul 2014 19:46:51 +0500 Subject: [PATCH] Moved GeneratedCertificates.MODES back inside model. LMS-6631 --- lms/djangoapps/certificates/models.py | 5 ++-- .../certificates/tests/factories.py | 4 ++-- lms/djangoapps/certificates/tests/tests.py | 24 +++++++++++++++++++ 3 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 lms/djangoapps/certificates/tests/tests.py diff --git a/lms/djangoapps/certificates/models.py b/lms/djangoapps/certificates/models.py index 59af2f8ba9..8ec9ccd05e 100644 --- a/lms/djangoapps/certificates/models.py +++ b/lms/djangoapps/certificates/models.py @@ -80,9 +80,10 @@ class CertificateWhitelist(models.Model): whitelist = models.BooleanField(default=0) -MODES = Choices('verified', 'honor', 'audit') - class GeneratedCertificate(models.Model): + + MODES = Choices('verified', 'honor', 'audit') + user = models.ForeignKey(User) course_id = CourseKeyField(max_length=255, blank=True, default=None) verify_uuid = models.CharField(max_length=32, blank=True, default='') diff --git a/lms/djangoapps/certificates/tests/factories.py b/lms/djangoapps/certificates/tests/factories.py index e1d824b22a..3d6d92ef8c 100644 --- a/lms/djangoapps/certificates/tests/factories.py +++ b/lms/djangoapps/certificates/tests/factories.py @@ -2,7 +2,7 @@ from factory.django import DjangoModelFactory from opaque_keys.edx.locations import SlashSeparatedCourseKey -from certificates.models import GeneratedCertificate, CertificateStatuses, MODES +from certificates.models import GeneratedCertificate, CertificateStatuses # Factories don't have __init__ methods, and are self documenting # pylint: disable=W0232 @@ -12,5 +12,5 @@ class GeneratedCertificateFactory(DjangoModelFactory): course_id = None status = CertificateStatuses.unavailable - mode = MODES.honor + mode = GeneratedCertificate.MODES.honor name = '' diff --git a/lms/djangoapps/certificates/tests/tests.py b/lms/djangoapps/certificates/tests/tests.py new file mode 100644 index 0000000000..619d458912 --- /dev/null +++ b/lms/djangoapps/certificates/tests/tests.py @@ -0,0 +1,24 @@ +""" +Tests for the certificates models. +""" + +from django.test import TestCase + +from xmodule.modulestore.tests.factories import CourseFactory + +from student.tests.factories import UserFactory +from certificates.models import CertificateStatuses, GeneratedCertificate, certificate_status_for_student + + +class CertificatesModelTest(TestCase): + """ + Tests for the GeneratedCertificate model + """ + + def test_certificate_status_for_student(self): + student = UserFactory() + course = CourseFactory.create(org='edx', number='verified', display_name='Verified Course') + + certificate_status = certificate_status_for_student(student, course.id) + self.assertEqual(certificate_status['status'], CertificateStatuses.unavailable) + self.assertEqual(certificate_status['mode'], GeneratedCertificate.MODES.honor)