mirror of
https://github.com/home-assistant/core.git
synced 2025-07-25 22:27:07 +00:00
Add support for passing though description_placeholders
to _abort_if_unique_id_configured
(#142779)
This commit is contained in:
parent
3489ea30dd
commit
f13bdd0da4
@ -2913,6 +2913,7 @@ class ConfigFlow(ConfigEntryBaseFlow):
|
|||||||
reload_on_update: bool = True,
|
reload_on_update: bool = True,
|
||||||
*,
|
*,
|
||||||
error: str = "already_configured",
|
error: str = "already_configured",
|
||||||
|
description_placeholders: Mapping[str, str] | None = None,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Abort if the unique ID is already configured.
|
"""Abort if the unique ID is already configured.
|
||||||
|
|
||||||
@ -2953,7 +2954,7 @@ class ConfigFlow(ConfigEntryBaseFlow):
|
|||||||
return
|
return
|
||||||
if should_reload:
|
if should_reload:
|
||||||
self.hass.config_entries.async_schedule_reload(entry.entry_id)
|
self.hass.config_entries.async_schedule_reload(entry.entry_id)
|
||||||
raise data_entry_flow.AbortFlow(error)
|
raise data_entry_flow.AbortFlow(error, description_placeholders)
|
||||||
|
|
||||||
async def async_set_unique_id(
|
async def async_set_unique_id(
|
||||||
self, unique_id: str | None = None, *, raise_on_progress: bool = True
|
self, unique_id: str | None = None, *, raise_on_progress: bool = True
|
||||||
|
@ -3259,7 +3259,9 @@ async def test_unique_id_update_existing_entry_without_reload(
|
|||||||
"""Test user step."""
|
"""Test user step."""
|
||||||
await self.async_set_unique_id("mock-unique-id")
|
await self.async_set_unique_id("mock-unique-id")
|
||||||
self._abort_if_unique_id_configured(
|
self._abort_if_unique_id_configured(
|
||||||
updates={"host": "1.1.1.1"}, reload_on_update=False
|
updates={"host": "1.1.1.1"},
|
||||||
|
reload_on_update=False,
|
||||||
|
description_placeholders={"title": "Other device"},
|
||||||
)
|
)
|
||||||
|
|
||||||
with (
|
with (
|
||||||
@ -3275,6 +3277,7 @@ async def test_unique_id_update_existing_entry_without_reload(
|
|||||||
|
|
||||||
assert result["type"] == FlowResultType.ABORT
|
assert result["type"] == FlowResultType.ABORT
|
||||||
assert result["reason"] == "already_configured"
|
assert result["reason"] == "already_configured"
|
||||||
|
assert result["description_placeholders"]["title"] == "Other device"
|
||||||
assert entry.data["host"] == "1.1.1.1"
|
assert entry.data["host"] == "1.1.1.1"
|
||||||
assert entry.data["additional"] == "data"
|
assert entry.data["additional"] == "data"
|
||||||
assert len(async_reload.mock_calls) == 0
|
assert len(async_reload.mock_calls) == 0
|
||||||
@ -3309,7 +3312,9 @@ async def test_unique_id_update_existing_entry_with_reload(
|
|||||||
"""Test user step."""
|
"""Test user step."""
|
||||||
await self.async_set_unique_id("mock-unique-id")
|
await self.async_set_unique_id("mock-unique-id")
|
||||||
await self._abort_if_unique_id_configured(
|
await self._abort_if_unique_id_configured(
|
||||||
updates=updates, reload_on_update=True
|
updates=updates,
|
||||||
|
reload_on_update=True,
|
||||||
|
description_placeholders={"title": "Other device"},
|
||||||
)
|
)
|
||||||
|
|
||||||
with (
|
with (
|
||||||
@ -3325,6 +3330,7 @@ async def test_unique_id_update_existing_entry_with_reload(
|
|||||||
|
|
||||||
assert result["type"] == FlowResultType.ABORT
|
assert result["type"] == FlowResultType.ABORT
|
||||||
assert result["reason"] == "already_configured"
|
assert result["reason"] == "already_configured"
|
||||||
|
assert result["description_placeholders"]["title"] == "Other device"
|
||||||
assert entry.data["host"] == "1.1.1.1"
|
assert entry.data["host"] == "1.1.1.1"
|
||||||
assert entry.data["additional"] == "data"
|
assert entry.data["additional"] == "data"
|
||||||
assert len(async_reload.mock_calls) == 1
|
assert len(async_reload.mock_calls) == 1
|
||||||
@ -3345,6 +3351,7 @@ async def test_unique_id_update_existing_entry_with_reload(
|
|||||||
|
|
||||||
assert result["type"] == FlowResultType.ABORT
|
assert result["type"] == FlowResultType.ABORT
|
||||||
assert result["reason"] == "already_configured"
|
assert result["reason"] == "already_configured"
|
||||||
|
assert result["description_placeholders"]["title"] == "Other device"
|
||||||
assert entry.data["host"] == "2.2.2.2"
|
assert entry.data["host"] == "2.2.2.2"
|
||||||
assert entry.data["additional"] == "data"
|
assert entry.data["additional"] == "data"
|
||||||
assert len(async_reload.mock_calls) == 0
|
assert len(async_reload.mock_calls) == 0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user