23 lines
753 B
Python
23 lines
753 B
Python
import datetime as dt
|
|
from unittest import mock
|
|
|
|
import pytest
|
|
|
|
from django.utils import timezone
|
|
|
|
from taiga.projects.due_dates.serializers import DueDateSerializerMixin
|
|
|
|
@pytest.mark.parametrize('due_date, is_closed, expected', [
|
|
(None, False, 'not_set'),
|
|
(dt.date(2100, 1, 1), True, 'no_longer_applicable'),
|
|
(dt.date(2100, 12, 31), False, 'set'),
|
|
(dt.date(2000, 1, 1), False, 'past_due'),
|
|
(timezone.now().date(), False, 'due_soon'),
|
|
])
|
|
def test_due_date_status(due_date, is_closed, expected):
|
|
serializer = DueDateSerializerMixin()
|
|
obj_status = mock.MagicMock(is_closed=is_closed)
|
|
obj = mock.MagicMock(due_date=due_date, status=obj_status)
|
|
status = serializer.get_due_date_status(obj)
|
|
assert status == expected
|