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))