65 lines
1.6 KiB
Python
65 lines
1.6 KiB
Python
"""
|
|
Tests for extended due date utilities.
|
|
"""
|
|
|
|
|
|
import unittest
|
|
from unittest import mock
|
|
|
|
from ..util import duedate
|
|
|
|
|
|
class TestGetExtendedDueDate(unittest.TestCase):
|
|
"""
|
|
Test `get_extended_due_date` function.
|
|
"""
|
|
|
|
def call_fut(self, node):
|
|
"""
|
|
Call function under test.
|
|
"""
|
|
fut = duedate.get_extended_due_date
|
|
return fut(node)
|
|
|
|
def test_no_due_date(self):
|
|
"""
|
|
Test no due date.
|
|
"""
|
|
node = object()
|
|
assert self.call_fut(node) is None
|
|
|
|
def test_due_date_no_extension(self):
|
|
"""
|
|
Test due date without extension.
|
|
"""
|
|
node = mock.Mock(due=1, extended_due=None)
|
|
assert self.call_fut(node) == 1
|
|
|
|
def test_due_date_with_extension(self):
|
|
"""
|
|
Test due date with extension.
|
|
"""
|
|
node = mock.Mock(due=1, extended_due=2)
|
|
assert self.call_fut(node) == 2
|
|
|
|
def test_due_date_extension_is_earlier(self):
|
|
"""
|
|
Test due date with extension, but due date is later than extension.
|
|
"""
|
|
node = mock.Mock(due=2, extended_due=1)
|
|
assert self.call_fut(node) == 2
|
|
|
|
def test_extension_without_due_date(self):
|
|
"""
|
|
Test non-sensical extension without due date.
|
|
"""
|
|
node = mock.Mock(due=None, extended_due=1)
|
|
assert self.call_fut(node) is None
|
|
|
|
def test_due_date_with_extension_dict(self):
|
|
"""
|
|
Test due date with extension when node is a dict.
|
|
"""
|
|
node = {'due': 1, 'extended_due': 2}
|
|
assert self.call_fut(node) == 2
|