Source code for uw.local.teaching.webui.exam_scan_test
import unittest
from collections import namedtuple
from freezegun import freeze_time
from datetime import datetime
from uw.local.teaching.webui.exam_scan import *
[docs]@freeze_time ('2012-01-14')
class ExamScanTests (unittest.TestCase):
[docs] def setUp (self):
""" Setup method which runs before each test case.
"""
self.Exam = namedtuple ('Exam', 'primary_start_time')
[docs] def test_exam_may_edit_scan_can_edit_1 (self):
""" Tests exam_may_edit_scan () given primary_start_time
is None.
"""
exam = self.Exam (primary_start_time=None)
self.assertTrue (exam_may_edit_scan (exam))
[docs] def test_exam_may_edit_scan_can_edit_2 (self):
""" Tests exam_may_edit_scan () given the current date is
before the primary start time.
"""
exam = self.Exam (primary_start_time=datetime (2012, 1, 15))
self.assertTrue (exam_may_edit_scan (exam))
[docs] def test_exam_may_edit_scan_cannot_edit (self):
""" Tests exam_may_edit_scan () for case 1 given the current date is
before the primary start time.
"""
exam = self.Exam (primary_start_time=datetime (2012, 1, 13))
self.assertFalse (exam_may_edit_scan (exam))