vbv/server/vbv_lernwelt/duedate/tests/test_duedate_model.py

39 lines
1.3 KiB
Python

import datetime
from django.test import TestCase
from django.utils import timezone
from vbv_lernwelt.duedate.factories import DueDateFactory
from vbv_lernwelt.duedate.models import DueDate
class TesDueDatetModel(TestCase):
def test_duedate_model_factory(self):
DueDateFactory()
assert DueDate.objects.count() == 1
def test_get_next_duedate_qs_is_really_next(self):
start = timezone.now() - datetime.timedelta(days=18)
generate_duedates(start=start)
self.assertEqual(DueDate.objects.count(), 20)
self.assertEqual(DueDate.get_next_duedates_qs().count(), 2)
# def test_event_model_factory_validation(self):
# e = DueDateFactory()
# e.start = get_date("Jan 01 2021")
# e.end = get_date("Jan 02 2021")
# e.validate()
# self.assertTrue(True)
#
# def test_event_model_factory_validation_invalid(self):
# e = DueDateFactory()
# e.start = get_date("Jan 04 2021")
# e.end = get_date("Jan 02 2021")
# self.assertRaises(ValueError, e.validate)
def generate_duedates(start=timezone.now()):
for i in range(20):
DueDateFactory(title=f"{i}", start=start + datetime.timedelta(days=i),
end=start + datetime.timedelta(days=i, hours=1))