|
|
@@ -36,3 +36,43 @@ async def test_init_entry(hass):
|
|
|
== TuyaLocalSensor
|
|
|
)
|
|
|
m_add_entities.assert_called_once()
|
|
|
+
|
|
|
+
|
|
|
+async def test_init_entry_fails_if_device_has_no_sensor(hass):
|
|
|
+ """Test initialisation when device has no matching entity"""
|
|
|
+ entry = MockConfigEntry(
|
|
|
+ domain=DOMAIN,
|
|
|
+ data={CONF_TYPE: "mirabella_genio_usb", CONF_DEVICE_ID: "dummy"},
|
|
|
+ )
|
|
|
+ m_add_entities = Mock()
|
|
|
+ m_device = AsyncMock()
|
|
|
+
|
|
|
+ hass.data[DOMAIN] = {
|
|
|
+ "dummy": {"device": m_device},
|
|
|
+ }
|
|
|
+ try:
|
|
|
+ await async_setup_entry(hass, entry, m_add_entities)
|
|
|
+ assert False
|
|
|
+ except ValueError:
|
|
|
+ pass
|
|
|
+ m_add_entities.assert_not_called()
|
|
|
+
|
|
|
+
|
|
|
+async def test_init_entry_fails_if_config_is_missing(hass):
|
|
|
+ """Test initialisation when device has no matching entity"""
|
|
|
+ entry = MockConfigEntry(
|
|
|
+ domain=DOMAIN,
|
|
|
+ data={CONF_TYPE: "non_existing", CONF_DEVICE_ID: "dummy"},
|
|
|
+ )
|
|
|
+ m_add_entities = Mock()
|
|
|
+ m_device = AsyncMock()
|
|
|
+
|
|
|
+ hass.data[DOMAIN] = {
|
|
|
+ "dummy": {"device": m_device},
|
|
|
+ }
|
|
|
+ try:
|
|
|
+ await async_setup_entry(hass, entry, m_add_entities)
|
|
|
+ assert False
|
|
|
+ except ValueError:
|
|
|
+ pass
|
|
|
+ m_add_entities.assert_not_called()
|