mirror of
https://github.com/home-assistant/core.git
synced 2025-07-15 17:27:10 +00:00
Use name in ESPHome discovery title (#24100)
* Use name in ESPHome discovery title * Add test * Lint
This commit is contained in:
parent
0194905e97
commit
9438dd1cbd
@ -50,6 +50,11 @@ class EsphomeFlowHandler(config_entries.ConfigFlow):
|
|||||||
if error is not None:
|
if error is not None:
|
||||||
return await self.async_step_user(error=error)
|
return await self.async_step_user(error=error)
|
||||||
self._name = device_info.name
|
self._name = device_info.name
|
||||||
|
# pylint: disable=unsupported-assignment-operation
|
||||||
|
self.context['title_placeholders'] = {
|
||||||
|
'name': self._name
|
||||||
|
}
|
||||||
|
|
||||||
# Only show authentication step if device uses password
|
# Only show authentication step if device uses password
|
||||||
if device_info.uses_password:
|
if device_info.uses_password:
|
||||||
return await self.async_step_authenticate()
|
return await self.async_step_authenticate()
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
"title": "Discovered ESPHome node"
|
"title": "Discovered ESPHome node"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"title": "ESPHome"
|
"title": "ESPHome",
|
||||||
|
"flow_title": "ESPHome: {name}"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -45,10 +45,16 @@ def mock_api_connection_error():
|
|||||||
yield mock_error
|
yield mock_error
|
||||||
|
|
||||||
|
|
||||||
async def test_user_connection_works(hass, mock_client):
|
def _setup_flow_handler(hass):
|
||||||
"""Test we can finish a config flow."""
|
|
||||||
flow = config_flow.EsphomeFlowHandler()
|
flow = config_flow.EsphomeFlowHandler()
|
||||||
flow.hass = hass
|
flow.hass = hass
|
||||||
|
flow.context = {}
|
||||||
|
return flow
|
||||||
|
|
||||||
|
|
||||||
|
async def test_user_connection_works(hass, mock_client):
|
||||||
|
"""Test we can finish a config flow."""
|
||||||
|
flow = _setup_flow_handler(hass)
|
||||||
result = await flow.async_step_user(user_input=None)
|
result = await flow.async_step_user(user_input=None)
|
||||||
assert result['type'] == 'form'
|
assert result['type'] == 'form'
|
||||||
|
|
||||||
@ -78,8 +84,7 @@ async def test_user_connection_works(hass, mock_client):
|
|||||||
async def test_user_resolve_error(hass, mock_api_connection_error,
|
async def test_user_resolve_error(hass, mock_api_connection_error,
|
||||||
mock_client):
|
mock_client):
|
||||||
"""Test user step with IP resolve error."""
|
"""Test user step with IP resolve error."""
|
||||||
flow = config_flow.EsphomeFlowHandler()
|
flow = _setup_flow_handler(hass)
|
||||||
flow.hass = hass
|
|
||||||
await flow.async_step_user(user_input=None)
|
await flow.async_step_user(user_input=None)
|
||||||
|
|
||||||
class MockResolveError(mock_api_connection_error):
|
class MockResolveError(mock_api_connection_error):
|
||||||
@ -111,8 +116,7 @@ async def test_user_resolve_error(hass, mock_api_connection_error,
|
|||||||
async def test_user_connection_error(hass, mock_api_connection_error,
|
async def test_user_connection_error(hass, mock_api_connection_error,
|
||||||
mock_client):
|
mock_client):
|
||||||
"""Test user step with connection error."""
|
"""Test user step with connection error."""
|
||||||
flow = config_flow.EsphomeFlowHandler()
|
flow = _setup_flow_handler(hass)
|
||||||
flow.hass = hass
|
|
||||||
await flow.async_step_user(user_input=None)
|
await flow.async_step_user(user_input=None)
|
||||||
|
|
||||||
mock_client.device_info.side_effect = mock_api_connection_error
|
mock_client.device_info.side_effect = mock_api_connection_error
|
||||||
@ -134,8 +138,7 @@ async def test_user_connection_error(hass, mock_api_connection_error,
|
|||||||
|
|
||||||
async def test_user_with_password(hass, mock_client):
|
async def test_user_with_password(hass, mock_client):
|
||||||
"""Test user step with password."""
|
"""Test user step with password."""
|
||||||
flow = config_flow.EsphomeFlowHandler()
|
flow = _setup_flow_handler(hass)
|
||||||
flow.hass = hass
|
|
||||||
await flow.async_step_user(user_input=None)
|
await flow.async_step_user(user_input=None)
|
||||||
|
|
||||||
mock_client.device_info.return_value = mock_coro(
|
mock_client.device_info.return_value = mock_coro(
|
||||||
@ -165,8 +168,7 @@ async def test_user_with_password(hass, mock_client):
|
|||||||
async def test_user_invalid_password(hass, mock_api_connection_error,
|
async def test_user_invalid_password(hass, mock_api_connection_error,
|
||||||
mock_client):
|
mock_client):
|
||||||
"""Test user step with invalid password."""
|
"""Test user step with invalid password."""
|
||||||
flow = config_flow.EsphomeFlowHandler()
|
flow = _setup_flow_handler(hass)
|
||||||
flow.hass = hass
|
|
||||||
await flow.async_step_user(user_input=None)
|
await flow.async_step_user(user_input=None)
|
||||||
|
|
||||||
mock_client.device_info.return_value = mock_coro(
|
mock_client.device_info.return_value = mock_coro(
|
||||||
@ -190,8 +192,7 @@ async def test_user_invalid_password(hass, mock_api_connection_error,
|
|||||||
|
|
||||||
async def test_discovery_initiation(hass, mock_client):
|
async def test_discovery_initiation(hass, mock_client):
|
||||||
"""Test discovery importing works."""
|
"""Test discovery importing works."""
|
||||||
flow = config_flow.EsphomeFlowHandler()
|
flow = _setup_flow_handler(hass)
|
||||||
flow.hass = hass
|
|
||||||
service_info = {
|
service_info = {
|
||||||
'host': '192.168.43.183',
|
'host': '192.168.43.183',
|
||||||
'port': 6053,
|
'port': 6053,
|
||||||
@ -206,6 +207,7 @@ async def test_discovery_initiation(hass, mock_client):
|
|||||||
assert result['type'] == 'form'
|
assert result['type'] == 'form'
|
||||||
assert result['step_id'] == 'discovery_confirm'
|
assert result['step_id'] == 'discovery_confirm'
|
||||||
assert result['description_placeholders']['name'] == 'test8266'
|
assert result['description_placeholders']['name'] == 'test8266'
|
||||||
|
assert flow.context['title_placeholders']['name'] == 'test8266'
|
||||||
|
|
||||||
result = await flow.async_step_discovery_confirm(user_input={})
|
result = await flow.async_step_discovery_confirm(user_input={})
|
||||||
assert result['type'] == 'create_entry'
|
assert result['type'] == 'create_entry'
|
||||||
@ -221,8 +223,7 @@ async def test_discovery_already_configured_hostname(hass, mock_client):
|
|||||||
data={'host': 'test8266.local', 'port': 6053, 'password': ''}
|
data={'host': 'test8266.local', 'port': 6053, 'password': ''}
|
||||||
).add_to_hass(hass)
|
).add_to_hass(hass)
|
||||||
|
|
||||||
flow = config_flow.EsphomeFlowHandler()
|
flow = _setup_flow_handler(hass)
|
||||||
flow.hass = hass
|
|
||||||
service_info = {
|
service_info = {
|
||||||
'host': '192.168.43.183',
|
'host': '192.168.43.183',
|
||||||
'port': 6053,
|
'port': 6053,
|
||||||
@ -241,8 +242,7 @@ async def test_discovery_already_configured_ip(hass, mock_client):
|
|||||||
data={'host': '192.168.43.183', 'port': 6053, 'password': ''}
|
data={'host': '192.168.43.183', 'port': 6053, 'password': ''}
|
||||||
).add_to_hass(hass)
|
).add_to_hass(hass)
|
||||||
|
|
||||||
flow = config_flow.EsphomeFlowHandler()
|
flow = _setup_flow_handler(hass)
|
||||||
flow.hass = hass
|
|
||||||
service_info = {
|
service_info = {
|
||||||
'host': '192.168.43.183',
|
'host': '192.168.43.183',
|
||||||
'port': 6053,
|
'port': 6053,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user