taiga-back/tests/unit/test_due_date_serializers.py

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