Improve test coverage for Proximity (#123523)
* remove unneccessary type checking * remove unused method after #123158 * test when tracked zone is removed
This commit is contained in:
parent
5f03589d3e
commit
5f73c73a88
2 changed files with 41 additions and 14 deletions
|
@ -13,7 +13,6 @@ from homeassistant.const import (
|
|||
ATTR_NAME,
|
||||
CONF_UNIT_OF_MEASUREMENT,
|
||||
CONF_ZONE,
|
||||
UnitOfLength,
|
||||
)
|
||||
from homeassistant.core import (
|
||||
Event,
|
||||
|
@ -27,7 +26,6 @@ from homeassistant.helpers.issue_registry import IssueSeverity, async_create_iss
|
|||
from homeassistant.helpers.typing import ConfigType
|
||||
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
|
||||
from homeassistant.util.location import distance
|
||||
from homeassistant.util.unit_conversion import DistanceConverter
|
||||
|
||||
from .const import (
|
||||
ATTR_DIR_OF_TRAVEL,
|
||||
|
@ -145,18 +143,6 @@ class ProximityDataUpdateCoordinator(DataUpdateCoordinator[ProximityData]):
|
|||
},
|
||||
)
|
||||
|
||||
def convert_legacy(self, value: float | str) -> float | str:
|
||||
"""Round and convert given distance value."""
|
||||
if isinstance(value, str):
|
||||
return value
|
||||
return round(
|
||||
DistanceConverter.convert(
|
||||
value,
|
||||
UnitOfLength.METERS,
|
||||
self.unit_of_measurement,
|
||||
)
|
||||
)
|
||||
|
||||
def _calc_distance_to_zone(
|
||||
self,
|
||||
zone: State,
|
||||
|
|
|
@ -879,3 +879,44 @@ async def test_sensor_unique_ids(
|
|||
assert (
|
||||
entity.unique_id == f"{mock_config.entry_id}_device_tracker.test2_dist_to_zone"
|
||||
)
|
||||
|
||||
|
||||
async def test_tracked_zone_is_removed(hass: HomeAssistant) -> None:
|
||||
"""Test that tracked zone is removed."""
|
||||
await async_setup_single_entry(hass, "zone.home", ["device_tracker.test1"], [], 1)
|
||||
|
||||
hass.states.async_set(
|
||||
"device_tracker.test1",
|
||||
"home",
|
||||
{"friendly_name": "test1", "latitude": 2.1, "longitude": 1.1},
|
||||
)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
# check sensor entities
|
||||
state = hass.states.get("sensor.home_nearest_device")
|
||||
assert state.state == "test1"
|
||||
|
||||
entity_base_name = "sensor.home_test1"
|
||||
state = hass.states.get(f"{entity_base_name}_distance")
|
||||
assert state.state == "0"
|
||||
state = hass.states.get(f"{entity_base_name}_direction_of_travel")
|
||||
assert state.state == "arrived"
|
||||
|
||||
# remove tracked zone and move tracked entity
|
||||
assert hass.states.async_remove("zone.home")
|
||||
hass.states.async_set(
|
||||
"device_tracker.test1",
|
||||
"home",
|
||||
{"friendly_name": "test1", "latitude": 2.2, "longitude": 1.2},
|
||||
)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
# check sensor entities
|
||||
state = hass.states.get("sensor.home_nearest_device")
|
||||
assert state.state == STATE_UNKNOWN
|
||||
|
||||
entity_base_name = "sensor.home_test1"
|
||||
state = hass.states.get(f"{entity_base_name}_distance")
|
||||
assert state.state == STATE_UNAVAILABLE
|
||||
state = hass.states.get(f"{entity_base_name}_direction_of_travel")
|
||||
assert state.state == STATE_UNAVAILABLE
|
||||
|
|
Loading…
Add table
Reference in a new issue