Skip to content

Commit 3738135

Browse files
authored
Add helper to access RepairsFlowManager (home-assistant#82567)
async_external_step
1 parent c68149c commit 3738135

File tree

2 files changed

+26
-2
lines changed

2 files changed

+26
-2
lines changed

homeassistant/components/repairs/__init__.py

+13-2
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,27 @@
66

77
from . import issue_handler, websocket_api
88
from .const import DOMAIN
9-
from .issue_handler import ConfirmRepairFlow
9+
from .issue_handler import ConfirmRepairFlow, RepairsFlowManager
1010
from .models import RepairsFlow
1111

1212
__all__ = [
13-
"DOMAIN",
1413
"ConfirmRepairFlow",
14+
"DOMAIN",
15+
"repairs_flow_manager",
1516
"RepairsFlow",
17+
"RepairsFlowManager",
1618
]
1719

1820

21+
def repairs_flow_manager(hass: HomeAssistant) -> RepairsFlowManager | None:
22+
"""Return the repairs flow manager."""
23+
if (domain_data := hass.data.get(DOMAIN)) is None:
24+
return None
25+
26+
flow_manager: RepairsFlowManager | None = domain_data.get("flow_manager")
27+
return flow_manager
28+
29+
1930
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
2031
"""Set up Repairs."""
2132
hass.data[DOMAIN] = {}

tests/components/repairs/test_init.py

+13
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@
66
from freezegun import freeze_time
77
import pytest
88

9+
from homeassistant.components.repairs import repairs_flow_manager
910
from homeassistant.components.repairs.const import DOMAIN
1011
from homeassistant.components.repairs.issue_handler import (
12+
RepairsFlowManager,
1113
async_process_repairs_platforms,
1214
)
1315
from homeassistant.const import __version__ as ha_version
@@ -538,3 +540,14 @@ def _create_issue() -> None:
538540

539541
assert msg["success"]
540542
assert msg["result"] == {"issues": []}
543+
544+
545+
async def test_flow_manager_helper(hass: HomeAssistant) -> None:
546+
"""Test accessing the repairs flow manager with the helper."""
547+
assert repairs_flow_manager(hass) is None
548+
549+
assert await async_setup_component(hass, DOMAIN, {})
550+
551+
flow_manager = repairs_flow_manager(hass)
552+
assert flow_manager is not None
553+
assert isinstance(flow_manager, RepairsFlowManager)

0 commit comments

Comments
 (0)