Update calendar to always request start/end dates in local time rather than UTC (#90386)
This commit is contained in:
parent
be5714e3fd
commit
ae41547b73
4 changed files with 37 additions and 13 deletions
|
@ -37,10 +37,27 @@ async def test_empty_calendar(
|
|||
}
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("dtstart", "dtend"),
|
||||
[
|
||||
("1997-07-14T18:00:00+01:00", "1997-07-15T05:00:00+01:00"),
|
||||
("1997-07-14T17:00:00+00:00", "1997-07-15T04:00:00+00:00"),
|
||||
("1997-07-14T11:00:00-06:00", "1997-07-14T22:00:00-06:00"),
|
||||
("1997-07-14T10:00:00-07:00", "1997-07-14T21:00:00-07:00"),
|
||||
],
|
||||
)
|
||||
async def test_api_date_time_event(
|
||||
ws_client: ClientFixture, setup_integration: None, get_events: GetEventsFn
|
||||
ws_client: ClientFixture,
|
||||
setup_integration: None,
|
||||
get_events: GetEventsFn,
|
||||
dtstart: str,
|
||||
dtend: str,
|
||||
) -> None:
|
||||
"""Test an event with a start/end date time."""
|
||||
"""Test an event with a start/end date time.
|
||||
|
||||
Events created in various timezones are ultimately returned relative
|
||||
to local home assistant timezone.
|
||||
"""
|
||||
client = await ws_client()
|
||||
await client.cmd_result(
|
||||
"create",
|
||||
|
@ -48,8 +65,8 @@ async def test_api_date_time_event(
|
|||
"entity_id": TEST_ENTITY,
|
||||
"event": {
|
||||
"summary": "Bastille Day Party",
|
||||
"dtstart": "1997-07-14T17:00:00+00:00",
|
||||
"dtend": "1997-07-15T04:00:00+00:00",
|
||||
"dtstart": dtstart,
|
||||
"dtend": dtend,
|
||||
},
|
||||
},
|
||||
)
|
||||
|
@ -63,6 +80,8 @@ async def test_api_date_time_event(
|
|||
}
|
||||
]
|
||||
|
||||
# Query events in UTC
|
||||
|
||||
# Time range before event
|
||||
events = await get_events("1997-07-13T00:00:00Z", "1997-07-14T16:00:00Z")
|
||||
assert len(events) == 0
|
||||
|
@ -77,6 +96,12 @@ async def test_api_date_time_event(
|
|||
events = await get_events("1997-07-15T03:00:00Z", "1997-07-15T06:00:00Z")
|
||||
assert len(events) == 1
|
||||
|
||||
# Query events overlapping with start and end but in another timezone
|
||||
events = await get_events("1997-07-12T23:00:00-01:00", "1997-07-14T17:00:00-01:00")
|
||||
assert len(events) == 1
|
||||
events = await get_events("1997-07-15T02:00:00-01:00", "1997-07-15T05:00:00-01:00")
|
||||
assert len(events) == 1
|
||||
|
||||
|
||||
async def test_api_date_event(
|
||||
ws_client: ClientFixture, setup_integration: None, get_events: GetEventsFn
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue