1
0
mirror of https://github.com/home-assistant/core.git synced 2026-05-24 01:10:24 +01:00
Files

82 lines
2.4 KiB
Python

"""Test the Xbox sensor platform."""
from collections.abc import Generator
from unittest.mock import patch
import pytest
from syrupy.assertion import SnapshotAssertion
from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN
from homeassistant.components.xbox.const import DOMAIN
from homeassistant.components.xbox.sensor import XboxSensor
from homeassistant.config_entries import ConfigEntryState
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er
from tests.common import MockConfigEntry, snapshot_platform
@pytest.fixture(autouse=True)
def sensor_only() -> Generator[None]:
"""Enable only the sensor platform."""
with patch(
"homeassistant.components.xbox.PLATFORMS",
[Platform.SENSOR],
):
yield
@pytest.mark.usefixtures("xbox_live_client", "entity_registry_enabled_by_default")
async def test_sensors(
hass: HomeAssistant,
config_entry: MockConfigEntry,
snapshot: SnapshotAssertion,
entity_registry: er.EntityRegistry,
) -> None:
"""Test setup of the Xbox sensor platform."""
config_entry.add_to_hass(hass)
await hass.config_entries.async_setup(config_entry.entry_id)
await hass.async_block_till_done()
assert config_entry.state is ConfigEntryState.LOADED
await snapshot_platform(hass, entity_registry, snapshot, config_entry.entry_id)
@pytest.mark.parametrize(
("entity_id", "key"),
[
("gsr_ae_account_tier", XboxSensor.ACCOUNT_TIER),
("gsr_ae_gold_tenure", XboxSensor.GOLD_TENURE),
],
)
@pytest.mark.usefixtures("xbox_live_client", "entity_registry_enabled_by_default")
async def test_sensor_deprecation_remove_entity(
hass: HomeAssistant,
config_entry: MockConfigEntry,
entity_registry: er.EntityRegistry,
entity_id: str,
key: XboxSensor,
) -> None:
"""Test we remove a deprecated sensor."""
entity_registry.async_get_or_create(
SENSOR_DOMAIN,
DOMAIN,
f"271958441785640_{key}",
suggested_object_id=entity_id,
)
assert entity_registry is not None
config_entry.add_to_hass(hass)
await hass.config_entries.async_setup(config_entry.entry_id)
await hass.async_block_till_done()
assert config_entry.state is ConfigEntryState.LOADED
assert entity_registry.async_get(f"sensor.{entity_id}") is None