Further untangle data entry flow (#13855)

* Further untangle data entry flow

* Fix test

* Remove helper class
This commit is contained in:
Paulus Schoutsen 2018-04-14 14:38:24 -04:00 committed by GitHub
parent 5a5dad689b
commit 4d44c0feff
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 47 additions and 47 deletions

View file

@ -5,8 +5,6 @@ import voluptuous as vol
from homeassistant import data_entry_flow
from homeassistant.util.decorator import Registry
from tests.common import mock_coro
@pytest.fixture
def manager():
@ -14,11 +12,19 @@ def manager():
handlers = Registry()
entries = []
async def async_create_flow(handler_name):
handler = handlers.get(handler_name)
if handler is None:
raise data_entry_flow.UnknownHandler
return handler()
async def async_add_entry(result):
entries.append(result)
manager = data_entry_flow.FlowManager(
None, handlers, mock_coro, async_add_entry)
None, async_create_flow, async_add_entry)
manager.mock_created_entries = entries
manager.mock_reg_handler = handlers.register
return manager
@ -84,7 +90,7 @@ async def test_configure_two_steps(manager):
assert len(manager.async_progress()) == 0
assert len(manager.mock_created_entries) == 1
result = manager.mock_created_entries[0]
assert result['domain'] == 'test'
assert result['handler'] == 'test'
assert result['data'] == ['INIT-DATA', 'SECOND-DATA']
@ -153,7 +159,7 @@ async def test_create_saves_data(manager):
entry = manager.mock_created_entries[0]
assert entry['version'] == 5
assert entry['domain'] == 'test'
assert entry['handler'] == 'test'
assert entry['title'] == 'Test Title'
assert entry['data'] == 'Test Data'
assert entry['source'] == data_entry_flow.SOURCE_USER
@ -180,7 +186,7 @@ async def test_discovery_init_flow(manager):
entry = manager.mock_created_entries[0]
assert entry['version'] == 5
assert entry['domain'] == 'test'
assert entry['handler'] == 'test'
assert entry['title'] == 'hello'
assert entry['data'] == data
assert entry['source'] == data_entry_flow.SOURCE_DISCOVERY