Add UTC datetime helpers to attempt to fix running issue
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
from datetime import datetime
|
||||
|
||||
from app.core.datetime import unix_ms_utc, utc_now
|
||||
from app.schemas import EventCreate, EventResponse, EspTimeResponse
|
||||
|
||||
|
||||
def test_event_input_datetime_is_normalized_to_utc_naive() -> None:
|
||||
event = EventCreate(
|
||||
title="Evening briefing",
|
||||
event_date="2026-06-01T19:30:00+01:00",
|
||||
event_time=None,
|
||||
)
|
||||
|
||||
assert event.event_date == datetime(2026, 6, 1, 18, 30)
|
||||
assert event.event_date.tzinfo is None
|
||||
|
||||
|
||||
def test_response_datetimes_serialize_as_zulu() -> None:
|
||||
event = EventResponse(
|
||||
id=1,
|
||||
title="Evening briefing",
|
||||
description=None,
|
||||
event_date=datetime(2026, 6, 1, 18, 30),
|
||||
event_time=None,
|
||||
location=None,
|
||||
max_attendees=None,
|
||||
status="draft",
|
||||
created_by=1,
|
||||
created_at=datetime(2026, 5, 1, 10, 0),
|
||||
updated_at=datetime(2026, 5, 1, 10, 0),
|
||||
)
|
||||
|
||||
payload = event.model_dump_json()
|
||||
|
||||
assert '"event_date":"2026-06-01T18:30:00Z"' in payload
|
||||
assert '"created_at":"2026-05-01T10:00:00Z"' in payload
|
||||
|
||||
|
||||
def test_esp_time_uses_same_utc_instant_for_iso_and_unix_ms() -> None:
|
||||
now = utc_now()
|
||||
response = EspTimeResponse(
|
||||
server_time_utc=now,
|
||||
unix_ms=unix_ms_utc(now),
|
||||
)
|
||||
|
||||
assert '"server_time_utc":"' in response.model_dump_json()
|
||||
assert response.unix_ms == unix_ms_utc(now)
|
||||
Reference in New Issue
Block a user