hass-core/tests/components/temper/test_sensor.py
Dave T f081fa8feb
Add basic tests for temper USB temperature sensor integration (#80220)
* Add basic tests

* Updated requriements_test_all.txt

* Update temperusb version

* Add type hints

Co-authored-by: Christian Knittl-Frank <lcnittl@gmail.com>

* Add type hints

Co-authored-by: Christian Knittl-Frank <lcnittl@gmail.com>

* Correct typo in type hint

* Fix isort

* Fix requirements_test_all.txt

---------

Co-authored-by: Dave T <davet2001@users.noreply.github.com>
Co-authored-by: Christian Knittl-Frank <lcnittl@gmail.com>
2023-03-28 16:50:59 +02:00

35 lines
1.1 KiB
Python

"""The tests for the temper (USB temperature sensor) component."""
from datetime import timedelta
from unittest.mock import Mock, patch
from homeassistant.core import HomeAssistant
from homeassistant.setup import async_setup_component
import homeassistant.util.dt as dt_util
from tests.common import async_fire_time_changed
async def test_temperature_readback(hass: HomeAssistant) -> None:
"""Test for reading sensors."""
mock_temper_device = Mock()
mock_temper_device.get_temperature.return_value = 12.3
utcnow = dt_util.utcnow()
with patch(
"temperusb.temper.TemperHandler.get_devices",
return_value=[mock_temper_device],
):
await async_setup_component(
hass,
"sensor",
{"sensor": {"platform": "temper", "name": "mydevicename"}},
)
await hass.async_block_till_done()
async_fire_time_changed(hass, utcnow + timedelta(seconds=70))
await hass.async_block_till_done()
temperature = hass.states.get("sensor.mydevicename")
assert temperature
assert temperature.state == "12.3"