Bring sensibo to full coverage (again) (#116469)
This commit is contained in:
parent
c7a84b1c7b
commit
23a8b29bfe
1 changed files with 62 additions and 0 deletions
|
@ -121,6 +121,32 @@ async def test_climate_fan(
|
|||
state1 = hass.states.get("climate.hallway")
|
||||
assert state1.attributes["fan_mode"] == "high"
|
||||
|
||||
monkeypatch.setattr(
|
||||
get_data.parsed["ABC999111"],
|
||||
"fan_modes",
|
||||
["quiet", "low", "medium", "not_in_ha"],
|
||||
)
|
||||
monkeypatch.setattr(
|
||||
get_data.parsed["ABC999111"],
|
||||
"fan_modes_translated",
|
||||
{
|
||||
"low": "low",
|
||||
"medium": "medium",
|
||||
"quiet": "quiet",
|
||||
"not_in_ha": "not_in_ha",
|
||||
},
|
||||
)
|
||||
with pytest.raises(
|
||||
HomeAssistantError,
|
||||
match="Climate fan mode not_in_ha is not supported by the integration",
|
||||
):
|
||||
await hass.services.async_call(
|
||||
CLIMATE_DOMAIN,
|
||||
SERVICE_SET_FAN_MODE,
|
||||
{ATTR_ENTITY_ID: state1.entity_id, ATTR_FAN_MODE: "not_in_ha"},
|
||||
blocking=True,
|
||||
)
|
||||
|
||||
with (
|
||||
patch(
|
||||
"homeassistant.components.sensibo.coordinator.SensiboClient.async_get_devices_data",
|
||||
|
@ -194,6 +220,42 @@ async def test_climate_swing(
|
|||
state1 = hass.states.get("climate.hallway")
|
||||
assert state1.attributes["swing_mode"] == "stopped"
|
||||
|
||||
monkeypatch.setattr(
|
||||
get_data.parsed["ABC999111"],
|
||||
"swing_modes",
|
||||
["stopped", "fixedtop", "fixedmiddletop", "not_in_ha"],
|
||||
)
|
||||
monkeypatch.setattr(
|
||||
get_data.parsed["ABC999111"],
|
||||
"swing_modes_translated",
|
||||
{
|
||||
"fixedmiddletop": "fixedMiddleTop",
|
||||
"fixedtop": "fixedTop",
|
||||
"stopped": "stopped",
|
||||
"not_in_ha": "not_in_ha",
|
||||
},
|
||||
)
|
||||
with patch(
|
||||
"homeassistant.components.sensibo.coordinator.SensiboClient.async_get_devices_data",
|
||||
return_value=get_data,
|
||||
):
|
||||
async_fire_time_changed(
|
||||
hass,
|
||||
dt_util.utcnow() + timedelta(minutes=5),
|
||||
)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
with pytest.raises(
|
||||
HomeAssistantError,
|
||||
match="Climate swing mode not_in_ha is not supported by the integration",
|
||||
):
|
||||
await hass.services.async_call(
|
||||
CLIMATE_DOMAIN,
|
||||
SERVICE_SET_SWING_MODE,
|
||||
{ATTR_ENTITY_ID: state1.entity_id, ATTR_SWING_MODE: "not_in_ha"},
|
||||
blocking=True,
|
||||
)
|
||||
|
||||
with (
|
||||
patch(
|
||||
"homeassistant.components.sensibo.coordinator.SensiboClient.async_get_devices_data",
|
||||
|
|
Loading…
Add table
Reference in a new issue