mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 21:27:38 +00:00
Remove deprecated state attributes in seventeentrack (#142622)
This commit is contained in:
parent
b3eb0301ae
commit
83c3275054
@ -2,11 +2,8 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any
|
||||
|
||||
from homeassistant.components.sensor import SensorEntity
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import ATTR_FRIENDLY_NAME, ATTR_LOCATION
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.device_registry import DeviceEntryType, DeviceInfo
|
||||
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
|
||||
@ -14,15 +11,7 @@ from homeassistant.helpers.typing import StateType
|
||||
from homeassistant.helpers.update_coordinator import CoordinatorEntity
|
||||
|
||||
from . import SeventeenTrackCoordinator
|
||||
from .const import (
|
||||
ATTR_INFO_TEXT,
|
||||
ATTR_PACKAGES,
|
||||
ATTR_STATUS,
|
||||
ATTR_TIMESTAMP,
|
||||
ATTR_TRACKING_NUMBER,
|
||||
ATTRIBUTION,
|
||||
DOMAIN,
|
||||
)
|
||||
from .const import ATTRIBUTION, DOMAIN
|
||||
|
||||
|
||||
async def async_setup_entry(
|
||||
@ -81,22 +70,3 @@ class SeventeenTrackSummarySensor(SeventeenTrackSensor):
|
||||
def native_value(self) -> StateType:
|
||||
"""Return the state of the sensor."""
|
||||
return self.coordinator.data.summary[self._status]["quantity"]
|
||||
|
||||
# This has been deprecated in 2024.8, will be removed in 2025.2
|
||||
@property
|
||||
def extra_state_attributes(self) -> dict[str, Any] | None:
|
||||
"""Return the state attributes."""
|
||||
packages = self.coordinator.data.summary[self._status]["packages"]
|
||||
return {
|
||||
ATTR_PACKAGES: [
|
||||
{
|
||||
ATTR_TRACKING_NUMBER: package.tracking_number,
|
||||
ATTR_LOCATION: package.location,
|
||||
ATTR_STATUS: package.status,
|
||||
ATTR_TIMESTAMP: package.timestamp,
|
||||
ATTR_INFO_TEXT: package.info_text,
|
||||
ATTR_FRIENDLY_NAME: package.friendly_name,
|
||||
}
|
||||
for package in packages
|
||||
]
|
||||
}
|
||||
|
@ -4,20 +4,12 @@ from __future__ import annotations
|
||||
|
||||
from unittest.mock import AsyncMock
|
||||
|
||||
from freezegun.api import FrozenDateTimeFactory
|
||||
from pyseventeentrack.errors import SeventeenTrackError
|
||||
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.setup import async_setup_component
|
||||
|
||||
from . import goto_future, init_integration
|
||||
from .conftest import (
|
||||
DEFAULT_SUMMARY,
|
||||
DEFAULT_SUMMARY_LENGTH,
|
||||
NEW_SUMMARY_DATA,
|
||||
VALID_PLATFORM_CONFIG_FULL,
|
||||
get_package,
|
||||
)
|
||||
from . import init_integration
|
||||
from .conftest import DEFAULT_SUMMARY, get_package
|
||||
|
||||
from tests.common import MockConfigEntry
|
||||
|
||||
@ -78,38 +70,6 @@ async def test_package_error(
|
||||
assert hass.states.get("sensor.17track_package_friendly_name_1") is None
|
||||
|
||||
|
||||
async def test_summary_correctly_updated(
|
||||
hass: HomeAssistant,
|
||||
freezer: FrozenDateTimeFactory,
|
||||
mock_seventeentrack: AsyncMock,
|
||||
mock_config_entry: MockConfigEntry,
|
||||
) -> None:
|
||||
"""Ensure summary entities are not duplicated."""
|
||||
package = get_package(status=30)
|
||||
mock_seventeentrack.return_value.profile.packages.return_value = [package]
|
||||
|
||||
await init_integration(hass, mock_config_entry)
|
||||
|
||||
assert len(hass.states.async_entity_ids()) == DEFAULT_SUMMARY_LENGTH
|
||||
|
||||
state_ready_picked = hass.states.get("sensor.17track_ready_to_be_picked_up")
|
||||
assert state_ready_picked is not None
|
||||
assert len(state_ready_picked.attributes["packages"]) == 1
|
||||
|
||||
mock_seventeentrack.return_value.profile.packages.return_value = []
|
||||
mock_seventeentrack.return_value.profile.summary.return_value = NEW_SUMMARY_DATA
|
||||
|
||||
await goto_future(hass, freezer)
|
||||
|
||||
assert len(hass.states.async_entity_ids()) == len(NEW_SUMMARY_DATA)
|
||||
for state in hass.states.async_all():
|
||||
assert state.state == "1"
|
||||
|
||||
state_ready_picked = hass.states.get("sensor.17track_ready_to_be_picked_up")
|
||||
assert state_ready_picked is not None
|
||||
assert len(state_ready_picked.attributes["packages"]) == 0
|
||||
|
||||
|
||||
async def test_summary_error(
|
||||
hass: HomeAssistant,
|
||||
mock_seventeentrack: AsyncMock,
|
||||
@ -129,13 +89,3 @@ async def test_summary_error(
|
||||
assert (
|
||||
hass.states.get("sensor.seventeentrack_packages_ready_to_be_picked_up") is None
|
||||
)
|
||||
|
||||
|
||||
async def test_non_valid_platform_config(
|
||||
hass: HomeAssistant, mock_seventeentrack: AsyncMock
|
||||
) -> None:
|
||||
"""Test if login fails."""
|
||||
mock_seventeentrack.return_value.profile.login.return_value = False
|
||||
assert await async_setup_component(hass, "sensor", VALID_PLATFORM_CONFIG_FULL)
|
||||
await hass.async_block_till_done()
|
||||
assert len(hass.states.async_entity_ids()) == 0
|
||||
|
Loading…
x
Reference in New Issue
Block a user