mirror of
https://github.com/home-assistant/core.git
synced 2025-11-13 13:00:11 +00:00
Revert PR 136314 (Cleanup map references in lovelace) (#141928)
* Revert PR 136314 (Cleanup map references in lovelace) * Update homeassistant/components/lovelace/__init__.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Fix dashboard creation * Update homeassistant/components/lovelace/__init__.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> --------- Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
This commit is contained in:
@@ -13,6 +13,16 @@ from homeassistant.setup import async_setup_component
|
||||
from tests.typing import WebSocketGenerator
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def mock_onboarding_not_done() -> Generator[MagicMock]:
|
||||
"""Mock that Home Assistant is currently onboarding."""
|
||||
with patch(
|
||||
"homeassistant.components.onboarding.async_is_onboarded",
|
||||
return_value=False,
|
||||
) as mock_onboarding:
|
||||
yield mock_onboarding
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def mock_onboarding_done() -> Generator[MagicMock]:
|
||||
"""Mock that Home Assistant is currently onboarding."""
|
||||
@@ -23,6 +33,15 @@ def mock_onboarding_done() -> Generator[MagicMock]:
|
||||
yield mock_onboarding
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def mock_add_onboarding_listener() -> Generator[MagicMock]:
|
||||
"""Mock that Home Assistant is currently onboarding."""
|
||||
with patch(
|
||||
"homeassistant.components.onboarding.async_add_listener",
|
||||
) as mock_add_onboarding_listener:
|
||||
yield mock_add_onboarding_listener
|
||||
|
||||
|
||||
async def test_create_dashboards_when_onboarded(
|
||||
hass: HomeAssistant,
|
||||
hass_ws_client: WebSocketGenerator,
|
||||
@@ -41,6 +60,45 @@ async def test_create_dashboards_when_onboarded(
|
||||
assert response["result"] == []
|
||||
|
||||
|
||||
async def test_create_dashboards_when_not_onboarded(
|
||||
hass: HomeAssistant,
|
||||
hass_ws_client: WebSocketGenerator,
|
||||
hass_storage: dict[str, Any],
|
||||
mock_add_onboarding_listener,
|
||||
mock_onboarding_not_done,
|
||||
) -> None:
|
||||
"""Test we automatically create dashboards when not onboarded."""
|
||||
client = await hass_ws_client(hass)
|
||||
|
||||
assert await async_setup_component(hass, "lovelace", {})
|
||||
|
||||
# Call onboarding listener
|
||||
mock_add_onboarding_listener.mock_calls[0][1][1]()
|
||||
await hass.async_block_till_done()
|
||||
|
||||
# List dashboards
|
||||
await client.send_json_auto_id({"type": "lovelace/dashboards/list"})
|
||||
response = await client.receive_json()
|
||||
assert response["success"]
|
||||
assert response["result"] == [
|
||||
{
|
||||
"icon": "mdi:map",
|
||||
"id": "map",
|
||||
"mode": "storage",
|
||||
"require_admin": False,
|
||||
"show_in_sidebar": True,
|
||||
"title": "Map",
|
||||
"url_path": "map",
|
||||
}
|
||||
]
|
||||
|
||||
# List map dashboard config
|
||||
await client.send_json_auto_id({"type": "lovelace/config", "url_path": "map"})
|
||||
response = await client.receive_json()
|
||||
assert response["success"]
|
||||
assert response["result"] == {"strategy": {"type": "map"}}
|
||||
|
||||
|
||||
@pytest.mark.parametrize("integration_frame_path", ["custom_components/my_integration"])
|
||||
@pytest.mark.usefixtures("mock_integration_frame")
|
||||
async def test_hass_data_compatibility(
|
||||
|
||||
Reference in New Issue
Block a user