mirror of
https://github.com/home-assistant/core.git
synced 2025-04-23 08:47:57 +00:00
Only show matching caldav events in calendar (#45701)
This commit is contained in:
parent
3f67f9e09c
commit
c1586f97db
@ -173,6 +173,8 @@ class WebDavCalendarData:
|
||||
event_list = []
|
||||
for event in vevent_list:
|
||||
vevent = event.instance.vevent
|
||||
if not self.is_matching(vevent, self.search):
|
||||
continue
|
||||
uid = None
|
||||
if hasattr(vevent, "uid"):
|
||||
uid = vevent.uid.value
|
||||
|
@ -774,3 +774,32 @@ async def test_event_rrule_hourly_ended(mock_now, hass, calendar):
|
||||
state = hass.states.get("calendar.private")
|
||||
assert state.name == calendar.name
|
||||
assert state.state == STATE_OFF
|
||||
|
||||
|
||||
async def test_get_events(hass, calendar):
|
||||
"""Test that all events are returned on API."""
|
||||
assert await async_setup_component(hass, "calendar", {"calendar": CALDAV_CONFIG})
|
||||
await hass.async_block_till_done()
|
||||
entity = hass.data["calendar"].get_entity("calendar.private")
|
||||
events = await entity.async_get_events(
|
||||
hass, datetime.date(2015, 11, 27), datetime.date(2015, 11, 28)
|
||||
)
|
||||
assert len(events) == 14
|
||||
|
||||
|
||||
async def test_get_events_custom_calendars(hass, calendar):
|
||||
"""Test that only searched events are returned on API."""
|
||||
config = dict(CALDAV_CONFIG)
|
||||
config["custom_calendars"] = [
|
||||
{"name": "Private", "calendar": "Private", "search": "This is a normal event"}
|
||||
]
|
||||
|
||||
assert await async_setup_component(hass, "calendar", {"calendar": config})
|
||||
await hass.async_block_till_done()
|
||||
|
||||
entity = hass.data["calendar"].get_entity("calendar.private_private")
|
||||
events = await entity.async_get_events(
|
||||
hass, datetime.date(2015, 11, 27), datetime.date(2015, 11, 28)
|
||||
)
|
||||
assert len(events) == 1
|
||||
assert events[0]["summary"] == "This is a normal event"
|
||||
|
Loading…
x
Reference in New Issue
Block a user