@@ -335,6 +335,7 @@ def test_course_credential(self):
335
335
336
336
class CourseCertificateSerializerTests (SiteMixin , TestCase ):
337
337
def test_create_course_certificate (self ):
338
+ """We can create a course certificate configuration"""
338
339
course_run = CourseRunFactory ()
339
340
course_certificate = CourseCertificateFactory (site = self .site , course_run = course_run )
340
341
Request = namedtuple ("Request" , ["site" ])
@@ -351,7 +352,7 @@ def test_create_course_certificate(self):
351
352
self .assertEqual (actual , expected )
352
353
353
354
def test_missing_course_run (self ):
354
- # We should be able to create an entry without a course run
355
+ """ We can create a course certificate configuration without a course run"""
355
356
course_certificate = CourseCertificateFactory (site = self .site , course_run = None )
356
357
Request = namedtuple ("Request" , ["site" ])
357
358
actual = CourseCertificateSerializer (course_certificate , context = {"request" : Request (site = self .site )}).data
@@ -367,8 +368,7 @@ def test_missing_course_run(self):
367
368
self .assertEqual (actual , expected )
368
369
369
370
def test_create_without_course_run_raises_warning (self ):
370
- # even though you can create an entry without a course run,
371
- # we want to make sure we are logging a warning when it is missing
371
+ """Creating a course certificate configuration without a course run raises a warning"""
372
372
with self .assertLogs (level = WARNING ):
373
373
Request = namedtuple ("Request" , ["site" ])
374
374
CourseCertificateSerializer (context = {"request" : Request (site = self .site )}).create (
@@ -379,3 +379,24 @@ def test_create_without_course_run_raises_warning(self):
379
379
"certificate_available_date" : None ,
380
380
}
381
381
)
382
+
383
+ def test_missing_certificate_available_date (self ):
384
+ """We can create a course certificate configuration without a certificate available date"""
385
+ course_run = CourseRunFactory ()
386
+ course_certificate = CourseCertificateFactory (
387
+ site = self .site ,
388
+ course_run = course_run ,
389
+ certificate_available_date = None ,
390
+ )
391
+ Request = namedtuple ("Request" , ["site" ])
392
+ actual = CourseCertificateSerializer (course_certificate , context = {"request" : Request (site = self .site )}).data
393
+ expected = {
394
+ "id" : course_certificate .id ,
395
+ "site" : self .site .id ,
396
+ "course_run" : course_certificate .course_run .key ,
397
+ "course_id" : course_certificate .course_id ,
398
+ "certificate_type" : course_certificate .certificate_type ,
399
+ "certificate_available_date" : None ,
400
+ "is_active" : course_certificate .is_active ,
401
+ }
402
+ self .assertEqual (actual , expected )
0 commit comments