Split the APCUPSd user flow init from its data (#180764)

This commit is contained in:
Franck Nijhof
2026-08-30 16:13:40 +02:00
committed by GitHub
parent 1654e96ed7
commit 8aabe76461
+54 -10
View File
@@ -29,7 +29,15 @@ async def test_config_flow_cannot_connect(
mock_request_status.side_effect = exception
result = await hass.config_entries.flow.async_init(
DOMAIN, context={"source": SOURCE_USER}, data=CONF_DATA
DOMAIN, context={"source": SOURCE_USER}
)
assert result["type"] is FlowResultType.FORM
assert result["step_id"] == "user"
result = await hass.config_entries.flow.async_configure(
result["flow_id"],
user_input=CONF_DATA,
)
assert result["type"] is FlowResultType.FORM
assert result["errors"]["base"] == "cannot_connect"
@@ -48,7 +56,15 @@ async def test_config_flow_duplicate_host_port(
# the entry already exists.
mock_request_status.return_value = MOCK_STATUS
result = await hass.config_entries.flow.async_init(
DOMAIN, context={"source": SOURCE_USER}, data=CONF_DATA
DOMAIN, context={"source": SOURCE_USER}
)
assert result["type"] is FlowResultType.FORM
assert result["step_id"] == "user"
result = await hass.config_entries.flow.async_configure(
result["flow_id"],
user_input=CONF_DATA,
)
assert result["type"] is FlowResultType.ABORT
assert result["reason"] == "already_configured"
@@ -60,9 +76,15 @@ async def test_config_flow_duplicate_host_port(
"SERIALNO": MOCK_STATUS["SERIALNO"] + "ZZZ"
}
result = await hass.config_entries.flow.async_init(
DOMAIN,
context={"source": SOURCE_USER},
data=another_host,
DOMAIN, context={"source": SOURCE_USER}
)
assert result["type"] is FlowResultType.FORM
assert result["step_id"] == "user"
result = await hass.config_entries.flow.async_configure(
result["flow_id"],
user_input=another_host,
)
assert result["type"] is FlowResultType.CREATE_ENTRY
assert result["data"] == another_host
@@ -83,9 +105,15 @@ async def test_config_flow_duplicate_serial_number(
mock_request_status.return_value = MOCK_STATUS
another_host = CONF_DATA | {CONF_HOST: "another_host"}
result = await hass.config_entries.flow.async_init(
DOMAIN,
context={"source": SOURCE_USER},
data=another_host,
DOMAIN, context={"source": SOURCE_USER}
)
assert result["type"] is FlowResultType.FORM
assert result["step_id"] == "user"
result = await hass.config_entries.flow.async_configure(
result["flow_id"],
user_input=another_host,
)
assert result["type"] is FlowResultType.ABORT
assert result["reason"] == "already_configured"
@@ -95,7 +123,15 @@ async def test_config_flow_duplicate_serial_number(
"SERIALNO": MOCK_STATUS["SERIALNO"] + "ZZZ"
}
result = await hass.config_entries.flow.async_init(
DOMAIN, context={"source": SOURCE_USER}, data=another_host
DOMAIN, context={"source": SOURCE_USER}
)
assert result["type"] is FlowResultType.FORM
assert result["step_id"] == "user"
result = await hass.config_entries.flow.async_configure(
result["flow_id"],
user_input=another_host,
)
assert result["type"] is FlowResultType.CREATE_ENTRY
assert result["data"] == another_host
@@ -152,7 +188,15 @@ async def test_flow_minimal_status(
integration will vary.
"""
result = await hass.config_entries.flow.async_init(
DOMAIN, context={CONF_SOURCE: SOURCE_USER}, data=CONF_DATA
DOMAIN, context={CONF_SOURCE: SOURCE_USER}
)
assert result["type"] is FlowResultType.FORM
assert result["step_id"] == "user"
result = await hass.config_entries.flow.async_configure(
result["flow_id"],
user_input=CONF_DATA,
)
await hass.async_block_till_done()
assert result["type"] is FlowResultType.CREATE_ENTRY