Source code for uw.local.teaching.webui.exam_edit_test
import unittest
from collections import namedtuple
from freezegun import freeze_time
from datetime import datetime
from uw.local.teaching.webui.exam_edit import *
[docs]@freeze_time ('2012-01-14')
class ExamEditTests (unittest.TestCase):
[docs] def setUp (self):
""" Setup method which runs before each test case.
"""
self.ExamCover = namedtuple ('ExamCover',
'primary_sitting_id primary_start_time master_approved')
self.ExamSeat = namedtuple ('ExamSeat', 'sequence_assigned')
[docs] def test_exam_may_edit_cover_can_edit_1 (self):
""" Tests exam_may_edit_cover () for case 1 where it can be edited.
"""
exam = self.ExamCover (primary_sitting_id=None,
primary_start_time=datetime (2012, 1, 13),
master_approved=None)
self.assertTrue (exam_may_edit_cover (exam))
[docs] def test_exam_may_edit_cover_can_edit_2 (self):
""" Tests exam_may_edit_cover () for case 2 where it can be edited.
"""
exam = self.ExamCover (primary_sitting_id='primary_sitting_id',
primary_start_time=datetime (2012, 1, 15),
master_approved=None)
self.assertTrue (exam_may_edit_cover (exam))
[docs] def test_exam_may_edit_cover_can_edit_3 (self):
""" Tests exam_may_edit_cover () for case 3 where it can be edited.
"""
exam = self.ExamCover (primary_sitting_id='primary_sitting_id',
primary_start_time=None,
master_approved=None)
self.assertTrue (exam_may_edit_cover (exam))
[docs] def test_exam_may_edit_cover_cannot_edit_1 (self):
""" Tests exam_may_edit_cover () for case 1 where it can't be edited.
"""
exam = self.ExamCover (primary_sitting_id='primary_sitting_id',
primary_start_time=datetime (2012, 1, 13),
master_approved=None)
self.assertFalse (exam_may_edit_cover (exam))
[docs] def test_exam_may_edit_cover_cannot_edit_2 (self):
""" Tests exam_may_edit_cover () for case 2 where it can't be edited.
"""
exam = self.ExamCover (primary_sitting_id='primary_sitting_id',
primary_start_time=datetime (2012, 1, 13),
master_approved='master_approved')
self.assertFalse (exam_may_edit_cover (exam))
[docs] def test_exam_may_edit_seat_sequence_assigned_is_none (self):
""" Tests exam_may_edit_seat () given sequence_assigned is None.
"""
exam = self.ExamSeat (None)
self.assertTrue (exam_may_edit_seat (exam))
[docs] def test_exam_may_edit_seat_sequence_assigned_not_none (self):
""" Tests exam_may_edit_seat () given sequence_assigned is not None.
"""
exam = self.ExamSeat (sequence_assigned='sequence_assigned')
self.assertFalse (exam_may_edit_seat (exam))