Files
core/tests/components/lametric/test_helpers.py
T

40 lines
1.3 KiB
Python

"""Tests for the LaMetric helpers."""
from unittest.mock import MagicMock
import pytest
from homeassistant.components.lametric.helpers import async_get_coordinator_by_device_id
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ServiceValidationError
from homeassistant.helpers import entity_registry as er
from tests.common import MockConfigEntry
async def test_get_coordinator_by_device_id(
hass: HomeAssistant,
entity_registry: er.EntityRegistry,
init_integration: MockConfigEntry,
mock_lametric: MagicMock,
) -> None:
"""Test get LaMetric coordinator by device ID ."""
with pytest.raises(
ServiceValidationError, match="Device with ID bla was not found"
):
async_get_coordinator_by_device_id(hass, "bla")
entry = entity_registry.async_get("button.frenck_s_lametric_next_app")
assert entry
assert entry.device_id
coordinator = async_get_coordinator_by_device_id(hass, entry.device_id)
assert coordinator.data == mock_lametric.device.return_value
# Unload entry
await hass.config_entries.async_unload(init_integration.entry_id)
await hass.async_block_till_done()
with pytest.raises(ServiceValidationError, match="is not loaded"):
async_get_coordinator_by_device_id(hass, entry.device_id)