Code quality improvements for litterrobot integration (#77605)

This commit is contained in:
Nathan Spencer 2022-09-01 12:02:46 -06:00 committed by GitHub
parent 1692808d5b
commit d0d1b303fd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 123 additions and 94 deletions

View file

@ -21,6 +21,7 @@ from homeassistant.components.vacuum import (
)
from homeassistant.const import ATTR_ENTITY_ID
from homeassistant.core import HomeAssistant
import homeassistant.helpers.entity_registry as er
from homeassistant.util.dt import utcnow
from .common import VACUUM_ENTITY_ID
@ -28,6 +29,9 @@ from .conftest import setup_integration
from tests.common import async_fire_time_changed
VACUUM_UNIQUE_ID_OLD = "LR3C012345-Litter Box"
VACUUM_UNIQUE_ID_NEW = "LR3C012345-litter_box"
COMPONENT_SERVICE_DOMAIN = {
SERVICE_SET_SLEEP_MODE: DOMAIN,
}
@ -35,6 +39,18 @@ COMPONENT_SERVICE_DOMAIN = {
async def test_vacuum(hass: HomeAssistant, mock_account: MagicMock) -> None:
"""Tests the vacuum entity was set up."""
ent_reg = er.async_get(hass)
# Create entity entry to migrate to new unique ID
ent_reg.async_get_or_create(
PLATFORM_DOMAIN,
DOMAIN,
VACUUM_UNIQUE_ID_OLD,
suggested_object_id=VACUUM_ENTITY_ID.replace(PLATFORM_DOMAIN, ""),
)
ent_reg_entry = ent_reg.async_get(VACUUM_ENTITY_ID)
assert ent_reg_entry.unique_id == VACUUM_UNIQUE_ID_OLD
await setup_integration(hass, mock_account, PLATFORM_DOMAIN)
assert hass.services.has_service(DOMAIN, SERVICE_SET_SLEEP_MODE)
@ -43,6 +59,9 @@ async def test_vacuum(hass: HomeAssistant, mock_account: MagicMock) -> None:
assert vacuum.state == STATE_DOCKED
assert vacuum.attributes["is_sleeping"] is False
ent_reg_entry = ent_reg.async_get(VACUUM_ENTITY_ID)
assert ent_reg_entry.unique_id == VACUUM_UNIQUE_ID_NEW
async def test_vacuum_status_when_sleeping(
hass: HomeAssistant, mock_account_with_sleeping_robot: MagicMock