Skip to content

Commit

Permalink
Add helper to access RepairsFlowManager (home-assistant#82567)
Browse files Browse the repository at this point in the history
async_external_step
  • Loading branch information
ludeeus authored Nov 23, 2022
1 parent c68149c commit 3738135
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 2 deletions.
15 changes: 13 additions & 2 deletions homeassistant/components/repairs/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -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] = {}
Expand Down
13 changes: 13 additions & 0 deletions tests/components/repairs/test_init.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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)

0 comments on commit 3738135

Please sign in to comment.