Add tests for LitterRobot sensors (#78638)
This commit is contained in:
parent
9655f30146
commit
aa0cbf0afe
3 changed files with 191 additions and 9 deletions
|
@ -2,12 +2,13 @@
|
|||
from unittest.mock import MagicMock
|
||||
|
||||
from homeassistant.components.sensor import DOMAIN as PLATFORM_DOMAIN, SensorDeviceClass
|
||||
from homeassistant.const import PERCENTAGE, STATE_UNKNOWN
|
||||
from homeassistant.const import MASS_POUNDS, PERCENTAGE, STATE_UNKNOWN
|
||||
from homeassistant.core import HomeAssistant
|
||||
|
||||
from .conftest import setup_integration
|
||||
|
||||
WASTE_DRAWER_ENTITY_ID = "sensor.test_waste_drawer"
|
||||
SLEEP_END_TIME_ENTITY_ID = "sensor.test_sleep_mode_end_time"
|
||||
SLEEP_START_TIME_ENTITY_ID = "sensor.test_sleep_mode_start_time"
|
||||
|
||||
|
||||
|
@ -36,6 +37,10 @@ async def test_sleep_time_sensor_with_sleep_disabled(
|
|||
assert sensor.state == STATE_UNKNOWN
|
||||
assert sensor.attributes["device_class"] == SensorDeviceClass.TIMESTAMP
|
||||
|
||||
sensor = hass.states.get(SLEEP_END_TIME_ENTITY_ID)
|
||||
assert sensor.state == STATE_UNKNOWN
|
||||
assert sensor.attributes["device_class"] == SensorDeviceClass.TIMESTAMP
|
||||
|
||||
|
||||
async def test_gauge_icon() -> None:
|
||||
"""Test icon generator for gauge sensor."""
|
||||
|
@ -59,3 +64,39 @@ async def test_gauge_icon() -> None:
|
|||
assert icon_for_gauge_level(40, 10) == GAUGE_LOW
|
||||
assert icon_for_gauge_level(80, 10) == GAUGE
|
||||
assert icon_for_gauge_level(100, 10) == GAUGE_FULL
|
||||
|
||||
|
||||
async def test_litter_robot_sensor(
|
||||
hass: HomeAssistant, mock_account_with_litterrobot_4: MagicMock
|
||||
) -> None:
|
||||
"""Tests Litter-Robot sensors."""
|
||||
await setup_integration(hass, mock_account_with_litterrobot_4, PLATFORM_DOMAIN)
|
||||
|
||||
sensor = hass.states.get(SLEEP_START_TIME_ENTITY_ID)
|
||||
assert sensor.state == "2022-09-19T04:00:00+00:00"
|
||||
assert sensor.attributes["device_class"] == SensorDeviceClass.TIMESTAMP
|
||||
sensor = hass.states.get(SLEEP_END_TIME_ENTITY_ID)
|
||||
assert sensor.state == "2022-09-16T07:00:00+00:00"
|
||||
assert sensor.attributes["device_class"] == SensorDeviceClass.TIMESTAMP
|
||||
sensor = hass.states.get("sensor.test_last_seen")
|
||||
assert sensor.state == "2022-09-17T12:06:37+00:00"
|
||||
assert sensor.attributes["device_class"] == SensorDeviceClass.TIMESTAMP
|
||||
sensor = hass.states.get("sensor.test_status_code")
|
||||
assert sensor.state == "dfs"
|
||||
assert sensor.attributes["device_class"] == "litterrobot__status_code"
|
||||
sensor = hass.states.get("sensor.test_litter_level")
|
||||
assert sensor.state == "70.0"
|
||||
assert sensor.attributes["unit_of_measurement"] == PERCENTAGE
|
||||
sensor = hass.states.get("sensor.test_pet_weight")
|
||||
assert sensor.state == "12.0"
|
||||
assert sensor.attributes["unit_of_measurement"] == MASS_POUNDS
|
||||
|
||||
|
||||
async def test_feeder_robot_sensor(
|
||||
hass: HomeAssistant, mock_account_with_feederrobot: MagicMock
|
||||
) -> None:
|
||||
"""Tests Feeder-Robot sensors."""
|
||||
await setup_integration(hass, mock_account_with_feederrobot, PLATFORM_DOMAIN)
|
||||
sensor = hass.states.get("sensor.test_food_level")
|
||||
assert sensor.state == "20"
|
||||
assert sensor.attributes["unit_of_measurement"] == PERCENTAGE
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue