mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 21:27:38 +00:00
Ensure ConfirmRepairFlow can make use of translation placeholders (#76336)
* Ensure ConfirmRepairFlow can make use of translation placeholders * Automatically determine the issue * Fix tests * Update homeassistant/components/repairs/issue_handler.py Co-authored-by: Franck Nijhof <frenck@frenck.nl> Co-authored-by: Franck Nijhof <frenck@frenck.nl>
This commit is contained in:
parent
01de1c6304
commit
759503f863
@ -27,7 +27,6 @@ class ConfirmRepairFlow(RepairsFlow):
|
|||||||
self, user_input: dict[str, str] | None = None
|
self, user_input: dict[str, str] | None = None
|
||||||
) -> data_entry_flow.FlowResult:
|
) -> data_entry_flow.FlowResult:
|
||||||
"""Handle the first step of a fix flow."""
|
"""Handle the first step of a fix flow."""
|
||||||
|
|
||||||
return await (self.async_step_confirm())
|
return await (self.async_step_confirm())
|
||||||
|
|
||||||
async def async_step_confirm(
|
async def async_step_confirm(
|
||||||
@ -37,7 +36,16 @@ class ConfirmRepairFlow(RepairsFlow):
|
|||||||
if user_input is not None:
|
if user_input is not None:
|
||||||
return self.async_create_entry(title="", data={})
|
return self.async_create_entry(title="", data={})
|
||||||
|
|
||||||
return self.async_show_form(step_id="confirm", data_schema=vol.Schema({}))
|
issue_registry = async_get_issue_registry(self.hass)
|
||||||
|
description_placeholders = None
|
||||||
|
if issue := issue_registry.async_get_issue(self.handler, self.issue_id):
|
||||||
|
description_placeholders = issue.translation_placeholders
|
||||||
|
|
||||||
|
return self.async_show_form(
|
||||||
|
step_id="confirm",
|
||||||
|
data_schema=vol.Schema({}),
|
||||||
|
description_placeholders=description_placeholders,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class RepairsFlowManager(data_entry_flow.FlowManager):
|
class RepairsFlowManager(data_entry_flow.FlowManager):
|
||||||
|
@ -253,14 +253,19 @@ async def test_fix_non_existing_issue(
|
|||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
"domain, step",
|
"domain, step, description_placeholders",
|
||||||
(
|
(
|
||||||
("fake_integration", "custom_step"),
|
("fake_integration", "custom_step", None),
|
||||||
("fake_integration_default_handler", "confirm"),
|
("fake_integration_default_handler", "confirm", {"abc": "123"}),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
async def test_fix_issue(
|
async def test_fix_issue(
|
||||||
hass: HomeAssistant, hass_client, hass_ws_client, domain, step
|
hass: HomeAssistant,
|
||||||
|
hass_client,
|
||||||
|
hass_ws_client,
|
||||||
|
domain,
|
||||||
|
step,
|
||||||
|
description_placeholders,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test we can fix an issue."""
|
"""Test we can fix an issue."""
|
||||||
assert await async_setup_component(hass, "http", {})
|
assert await async_setup_component(hass, "http", {})
|
||||||
@ -288,7 +293,7 @@ async def test_fix_issue(
|
|||||||
flow_id = data["flow_id"]
|
flow_id = data["flow_id"]
|
||||||
assert data == {
|
assert data == {
|
||||||
"data_schema": [],
|
"data_schema": [],
|
||||||
"description_placeholders": None,
|
"description_placeholders": description_placeholders,
|
||||||
"errors": None,
|
"errors": None,
|
||||||
"flow_id": ANY,
|
"flow_id": ANY,
|
||||||
"handler": domain,
|
"handler": domain,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user