diff --git a/homeassistant/components/repairs/__init__.py b/homeassistant/components/repairs/__init__.py index 9c26fe01a69186..aa578c098d50dc 100644 --- a/homeassistant/components/repairs/__init__.py +++ b/homeassistant/components/repairs/__init__.py @@ -6,16 +6,27 @@ from . import issue_handler, websocket_api from .const import DOMAIN -from .issue_handler import ConfirmRepairFlow +from .issue_handler import ConfirmRepairFlow, RepairsFlowManager from .models import RepairsFlow __all__ = [ - "DOMAIN", "ConfirmRepairFlow", + "DOMAIN", + "repairs_flow_manager", "RepairsFlow", + "RepairsFlowManager", ] +def repairs_flow_manager(hass: HomeAssistant) -> RepairsFlowManager | None: + """Return the repairs flow manager.""" + if (domain_data := hass.data.get(DOMAIN)) is None: + return None + + flow_manager: RepairsFlowManager | None = domain_data.get("flow_manager") + return flow_manager + + async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: """Set up Repairs.""" hass.data[DOMAIN] = {} diff --git a/tests/components/repairs/test_init.py b/tests/components/repairs/test_init.py index 9311b1cf024ecf..513eb4071bc88c 100644 --- a/tests/components/repairs/test_init.py +++ b/tests/components/repairs/test_init.py @@ -6,8 +6,10 @@ from freezegun import freeze_time import pytest +from homeassistant.components.repairs import repairs_flow_manager from homeassistant.components.repairs.const import DOMAIN from homeassistant.components.repairs.issue_handler import ( + RepairsFlowManager, async_process_repairs_platforms, ) from homeassistant.const import __version__ as ha_version @@ -538,3 +540,14 @@ def _create_issue() -> None: assert msg["success"] assert msg["result"] == {"issues": []} + + +async def test_flow_manager_helper(hass: HomeAssistant) -> None: + """Test accessing the repairs flow manager with the helper.""" + assert repairs_flow_manager(hass) is None + + assert await async_setup_component(hass, DOMAIN, {}) + + flow_manager = repairs_flow_manager(hass) + assert flow_manager is not None + assert isinstance(flow_manager, RepairsFlowManager)