Automatically onboard Cast (#73813)
This commit is contained in:
parent
07a46dee39
commit
39a00ffe09
2 changed files with 22 additions and 2 deletions
|
@ -6,7 +6,7 @@ from typing import Any
|
|||
import voluptuous as vol
|
||||
|
||||
from homeassistant import config_entries
|
||||
from homeassistant.components import zeroconf
|
||||
from homeassistant.components import onboarding, zeroconf
|
||||
from homeassistant.core import callback
|
||||
from homeassistant.data_entry_flow import FlowResult
|
||||
from homeassistant.helpers import config_validation as cv
|
||||
|
@ -102,7 +102,7 @@ class FlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
|
|||
|
||||
data = self._get_data()
|
||||
|
||||
if user_input is not None:
|
||||
if user_input is not None or not onboarding.async_is_onboarded(self.hass):
|
||||
return self.async_create_entry(title="Google Cast", data=data)
|
||||
|
||||
return self.async_show_form(step_id="confirm")
|
||||
|
|
|
@ -116,6 +116,26 @@ async def test_zeroconf_setup(hass):
|
|||
}
|
||||
|
||||
|
||||
async def test_zeroconf_setup_onboarding(hass):
|
||||
"""Test we automatically finish a config flow through zeroconf during onboarding."""
|
||||
with patch(
|
||||
"homeassistant.components.onboarding.async_is_onboarded", return_value=False
|
||||
):
|
||||
result = await hass.config_entries.flow.async_init(
|
||||
"cast", context={"source": config_entries.SOURCE_ZEROCONF}
|
||||
)
|
||||
|
||||
users = await hass.auth.async_get_users()
|
||||
assert len(users) == 1
|
||||
assert result["type"] == "create_entry"
|
||||
assert result["result"].data == {
|
||||
"ignore_cec": [],
|
||||
"known_hosts": [],
|
||||
"uuid": [],
|
||||
"user_id": users[0].id, # Home Assistant cast user
|
||||
}
|
||||
|
||||
|
||||
def get_suggested(schema, key):
|
||||
"""Get suggested value for key in voluptuous schema."""
|
||||
for k in schema.keys():
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue