39 lines
1.2 KiB
Python
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))
|