Migrationen 003–009, Kundaufträge mit Lieferschein, Abräumen mit Urteil, ntfy/Backup/Zeitfenster, Live-Stream und Mobile-Mehr-Menü.
25 lines
745 B
Python
25 lines
745 B
Python
"""Start-Zeitfenster."""
|
|
|
|
import unittest
|
|
from datetime import datetime
|
|
from zoneinfo import ZoneInfo
|
|
|
|
from grotti.time_window import allowed_now
|
|
|
|
|
|
class TimeWindowTests(unittest.TestCase):
|
|
def test_overnight_window(self):
|
|
window = {"allowed": [{"from": "22:00", "to": "06:00"}]}
|
|
inside = datetime(2026, 10, 18, 23, 0, tzinfo=ZoneInfo("Europe/Berlin"))
|
|
outside = datetime(2026, 10, 18, 12, 0, tzinfo=ZoneInfo("Europe/Berlin"))
|
|
self.assertTrue(allowed_now(window, now=inside))
|
|
self.assertFalse(allowed_now(window, now=outside))
|
|
|
|
def test_empty_allows_always(self):
|
|
self.assertTrue(allowed_now({}))
|
|
self.assertTrue(allowed_now(None))
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|