mirror of
https://github.com/home-assistant/core.git
synced 2025-07-21 12:17:07 +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 = []
|
event_list = []
|
||||||
for event in vevent_list:
|
for event in vevent_list:
|
||||||
vevent = event.instance.vevent
|
vevent = event.instance.vevent
|
||||||
|
if not self.is_matching(vevent, self.search):
|
||||||
|
continue
|
||||||
uid = None
|
uid = None
|
||||||
if hasattr(vevent, "uid"):
|
if hasattr(vevent, "uid"):
|
||||||
uid = vevent.uid.value
|
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")
|
state = hass.states.get("calendar.private")
|
||||||
assert state.name == calendar.name
|
assert state.name == calendar.name
|
||||||
assert state.state == STATE_OFF
|
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