diff --git a/src/divera247/models/event.py b/src/divera247/models/event.py index 7c17065..d28292c 100644 --- a/src/divera247/models/event.py +++ b/src/divera247/models/event.py @@ -18,6 +18,8 @@ class EventResult(BaseModel): foreign_id: str | None = Field(default=None, description='Fremdschlüssel') author_id: int | None = Field(default=None, description='ID des Nutzers') date: datetime.datetime | None = Field(default=None, description='Terminszeit als UNIX-Timestamp') + start: datetime.datetime | None = Field(default=None, description='Beginn als UNIX-Timestamp') + end: datetime.datetime | None = Field(default=None, description='Ende als UNIX-Timestamp') title: str | None = Field(default=None, description='Titel') text: str | None = Field(default=None, description='Meldung') address: str | None = Field(default=None, description='Ort') diff --git a/tests/event/test_event.py b/tests/event/test_event.py index 9728e82..e55cb3b 100644 --- a/tests/event/test_event.py +++ b/tests/event/test_event.py @@ -63,6 +63,20 @@ async def test_get_events(event_endpoint: EventEndpoint, httpx_mock: pytest_http assert response.data is not None +def test_event_result_parses_start_end_timestamps() -> None: + """EventResult should parse live API `start`/`end` fields as datetimes.""" + payload = { + 'id': 123, + 'title': 'Übungsdienst', + 'start': 1796063400, + 'end': 1796072400, + } + parsed = EventSingleResponse.model_validate({'success': True, 'data': payload}) + assert parsed.data is not None + assert parsed.data.start is not None + assert parsed.data.end is not None + + async def test_download_event(event_endpoint: EventEndpoint, httpx_mock: pytest_httpx.HTTPXMock) -> None: """Download event returns raw bytes from mock.""" payload = b'%PDF-1.4\n%\xe2\xe3\xcf\xd3\n'