vbv/server/vbv_lernwelt/events/tests/test_event_model.py

39 lines
1.2 KiB
Python

import datetime
from django.test import TestCase
from django.utils import timezone
from vbv_lernwelt.events.factories import EventFactory
from vbv_lernwelt.events.models import Event
class TestEventModel(TestCase):
def test_event_model_factory(self):
EventFactory()
assert Event.objects.count() == 1
def test_get_next_events_qs_is_really_next(self):
start = timezone.now() - datetime.timedelta(days=18)
generate_events(start=start)
self.assertEqual(Event.objects.count(), 20)
self.assertEqual(Event.get_next_events_qs().count(), 2)
# def test_event_model_factory_validation(self):
# e = EventFactory()
# 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 = EventFactory()
# e.start = get_date("Jan 04 2021")
# e.end = get_date("Jan 02 2021")
# self.assertRaises(ValueError, e.validate)
def generate_events(start=timezone.now()):
for i in range(20):
EventFactory(title=f"{i}", start=start + datetime.timedelta(days=i),
end=start + datetime.timedelta(days=i, hours=1))