Mobile App add device tracker to person registering app (#30460)
This commit is contained in:
parent
e233dd7cbe
commit
95cd0a2c68
8 changed files with 174 additions and 43 deletions
|
@ -19,7 +19,7 @@ from homeassistant.const import (
|
|||
STATE_UNKNOWN,
|
||||
)
|
||||
from homeassistant.core import CoreState, State
|
||||
from homeassistant.helpers import collection
|
||||
from homeassistant.helpers import collection, entity_registry
|
||||
from homeassistant.setup import async_setup_component
|
||||
|
||||
from tests.common import assert_setup_component, mock_component, mock_restore_cache
|
||||
|
@ -664,3 +664,42 @@ async def test_update_person_when_user_removed(
|
|||
await hass.async_block_till_done()
|
||||
|
||||
assert storage_collection.data[person["id"]]["user_id"] is None
|
||||
|
||||
|
||||
async def test_removing_device_tracker(hass, storage_setup):
|
||||
"""Test we automatically remove removed device trackers."""
|
||||
storage_collection = hass.data[DOMAIN][1]
|
||||
reg = await entity_registry.async_get_registry(hass)
|
||||
entry = reg.async_get_or_create(
|
||||
"device_tracker", "mobile_app", "bla", suggested_object_id="pixel"
|
||||
)
|
||||
|
||||
person = await storage_collection.async_create_item(
|
||||
{"name": "Hello", "device_trackers": [entry.entity_id]}
|
||||
)
|
||||
|
||||
reg.async_remove(entry.entity_id)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
assert storage_collection.data[person["id"]]["device_trackers"] == []
|
||||
|
||||
|
||||
async def test_add_user_device_tracker(hass, storage_setup, hass_read_only_user):
|
||||
"""Test adding a device tracker to a person tied to a user."""
|
||||
storage_collection = hass.data[DOMAIN][1]
|
||||
pers = await storage_collection.async_create_item(
|
||||
{
|
||||
"name": "Hello",
|
||||
"user_id": hass_read_only_user.id,
|
||||
"device_trackers": ["device_tracker.on_create"],
|
||||
}
|
||||
)
|
||||
|
||||
await person.async_add_user_device_tracker(
|
||||
hass, hass_read_only_user.id, "device_tracker.added"
|
||||
)
|
||||
|
||||
assert storage_collection.data[pers["id"]]["device_trackers"] == [
|
||||
"device_tracker.on_create",
|
||||
"device_tracker.added",
|
||||
]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue