Fix create flow logic for single config entry integrations (#129807)
* Fix create flow logic for single config entry integrations * Adjust MQTT testpull/129812/head
parent
7691991a93
commit
4ac35d40cd
|
@ -1278,7 +1278,13 @@ class ConfigEntriesFlowManager(
|
|||
# a single config entry, but which already has an entry
|
||||
if (
|
||||
source not in {SOURCE_IGNORE, SOURCE_REAUTH, SOURCE_RECONFIGURE}
|
||||
and self.config_entries.async_has_entries(handler, include_ignore=False)
|
||||
and (
|
||||
self.config_entries.async_has_entries(handler, include_ignore=False)
|
||||
or (
|
||||
self.config_entries.async_has_entries(handler, include_ignore=True)
|
||||
and source != SOURCE_USER
|
||||
)
|
||||
)
|
||||
and await _support_single_config_entry_only(self.hass, handler)
|
||||
):
|
||||
return ConfigFlowResult(
|
||||
|
|
|
@ -444,7 +444,7 @@ async def test_hassio_ignored(hass: HomeAssistant) -> None:
|
|||
)
|
||||
assert result
|
||||
assert result.get("type") is FlowResultType.ABORT
|
||||
assert result.get("reason") == "already_configured"
|
||||
assert result.get("reason") == "single_instance_allowed"
|
||||
|
||||
|
||||
async def test_hassio_confirm(
|
||||
|
|
|
@ -5729,6 +5729,14 @@ async def test_starting_config_flow_on_single_config_entry(
|
|||
None,
|
||||
{"type": data_entry_flow.FlowResultType.ABORT, "reason": "not_implemented"},
|
||||
),
|
||||
(
|
||||
{"source": config_entries.SOURCE_ZEROCONF},
|
||||
None,
|
||||
{
|
||||
"type": data_entry_flow.FlowResultType.ABORT,
|
||||
"reason": "single_instance_allowed",
|
||||
},
|
||||
),
|
||||
],
|
||||
)
|
||||
async def test_starting_config_flow_on_single_config_entry_2(
|
||||
|
|
Loading…
Reference in New Issue