Accept all roborock vacuum models for xiaomi_miio (#59018)

This commit is contained in:
Teemu R 2021-11-04 14:14:31 +01:00 committed by GitHub
parent 23a0f0b777
commit ea657e6656
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 48 additions and 0 deletions

View file

@ -202,6 +202,7 @@ ROCKROBO_S4_MAX = "roborock.vacuum.a19"
ROCKROBO_S5_MAX = "roborock.vacuum.s5e"
ROCKROBO_S6_PURE = "roborock.vacuum.a08"
ROCKROBO_E2 = "roborock.vacuum.e2"
ROCKROBO_GENERIC = "roborock.vacuum"
MODELS_VACUUM = [
ROCKROBO_V1,
ROCKROBO_E2,
@ -213,6 +214,7 @@ MODELS_VACUUM = [
ROCKROBO_S6_MAXV,
ROCKROBO_S6_PURE,
ROCKROBO_S7,
ROCKROBO_GENERIC,
]
MODELS_VACUUM_WITH_MOP = [
ROCKROBO_E2,

View file

@ -695,6 +695,52 @@ async def config_flow_device_success(hass, model_to_test):
}
async def config_flow_generic_roborock(hass):
"""Test a successful config flow for a generic roborock vacuum."""
DUMMY_MODEL = "roborock.vacuum.dummy"
result = await hass.config_entries.flow.async_init(
const.DOMAIN, context={"source": config_entries.SOURCE_USER}
)
assert result["type"] == "form"
assert result["step_id"] == "cloud"
assert result["errors"] == {}
result = await hass.config_entries.flow.async_configure(
result["flow_id"],
{const.CONF_MANUAL: True},
)
assert result["type"] == "form"
assert result["step_id"] == "manual"
assert result["errors"] == {}
mock_info = get_mock_info(model=DUMMY_MODEL)
with patch(
"homeassistant.components.xiaomi_miio.device.Device.info",
return_value=mock_info,
):
result = await hass.config_entries.flow.async_configure(
result["flow_id"],
{CONF_HOST: TEST_HOST, CONF_TOKEN: TEST_TOKEN},
)
assert result["type"] == "create_entry"
assert result["title"] == DUMMY_MODEL
assert result["data"] == {
const.CONF_FLOW_TYPE: const.CONF_DEVICE,
const.CONF_CLOUD_USERNAME: None,
const.CONF_CLOUD_PASSWORD: None,
const.CONF_CLOUD_COUNTRY: None,
CONF_HOST: TEST_HOST,
CONF_TOKEN: TEST_TOKEN,
const.CONF_MODEL: DUMMY_MODEL,
const.CONF_MAC: TEST_MAC,
}
async def zeroconf_device_success(hass, zeroconf_name_to_test, model_to_test):
"""Test a successful zeroconf discovery of a device (base class)."""
result = await hass.config_entries.flow.async_init(