Add test of ConfigSubentryFlow._subentry_type (#147565)

This commit is contained in:
Erik Montnemery 2025-07-26 00:27:04 +02:00 committed by GitHub
parent cbf4409db3
commit aab7381553
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -8008,7 +8008,10 @@ async def test_get_reconfigure_entry(
async def test_subentry_get_entry(
hass: HomeAssistant, manager: config_entries.ConfigEntries
) -> None:
"""Test subentry _get_entry and _get_reconfigure_subentry behavior."""
"""Test subentry _get_entry and _get_reconfigure_subentry behavior.
Also tests related helpers _entry_id, _subentry_type, _reconfigure_subentry_id
"""
subentry_id = "mock_subentry_id"
entry = MockConfigEntry(
data={},
@ -8044,18 +8047,8 @@ async def test_subentry_get_entry(
async def _async_step_confirm(self):
"""Confirm input."""
try:
entry = self._get_entry()
except ValueError as err:
reason = str(err)
else:
reason = f"Found entry {entry.title}"
try:
entry_id = self._entry_id
except ValueError:
reason = f"{reason}: -"
else:
reason = f"{reason}: {entry_id}"
reason = f"Found entry {self._get_entry().title},{self._entry_id}: "
reason = f"{reason}subentry_type={self._subentry_type}"
try:
subentry = self._get_reconfigure_subentry()
@ -8083,9 +8076,9 @@ async def test_subentry_get_entry(
# A reconfigure flow finds the config entry and subentry
with mock_config_flow("test", TestFlow):
result = await entry.start_subentry_reconfigure_flow(hass, subentry_id)
assert (
result["reason"]
== "Found entry entry_title: mock_entry_id/Found subentry Test: mock_subentry_id"
assert result["reason"] == (
"Found entry entry_title,mock_entry_id: subentry_type=test/"
"Found subentry Test: mock_subentry_id"
)
# The subentry_id does not exist
@ -8097,9 +8090,9 @@ async def test_subentry_get_entry(
"subentry_id": "01JRemoved",
},
)
assert (
result["reason"]
== "Found entry entry_title: mock_entry_id/Subentry not found: 01JRemoved"
assert result["reason"] == (
"Found entry entry_title,mock_entry_id: subentry_type=test/"
"Subentry not found: 01JRemoved"
)
# A user flow finds the config entry but not the subentry
@ -8107,9 +8100,9 @@ async def test_subentry_get_entry(
result = await manager.subentries.async_init(
(entry.entry_id, "test"), context={"source": config_entries.SOURCE_USER}
)
assert (
result["reason"]
== "Found entry entry_title: mock_entry_id/Source is user, expected reconfigure: -"
assert result["reason"] == (
"Found entry entry_title,mock_entry_id: subentry_type=test/"
"Source is user, expected reconfigure: -"
)