3
3
4
4
from homeassistant import config_entries , data_entry_flow
5
5
import pytest
6
- from pytest_homeassistant_custom_component .common import MockConfigEntry
7
6
8
- from custom_components .ocpp .const import (
9
- BINARY_SENSOR ,
7
+ from custom_components .ocpp .const import ( # BINARY_SENSOR,; PLATFORMS,; SENSOR,; SWITCH,
10
8
DOMAIN ,
11
- PLATFORMS ,
12
- SENSOR ,
13
- SWITCH ,
14
9
)
15
10
16
11
from .const import MOCK_CONFIG
17
12
13
+ # from pytest_homeassistant_custom_component.common import MockConfigEntry
14
+
18
15
19
16
# This fixture bypasses the actual setup of the integration
20
17
# since we only want to test the config flow. We test the
@@ -49,6 +46,15 @@ async def test_successful_config_flow(hass, bypass_get_data):
49
46
result ["flow_id" ], user_input = MOCK_CONFIG
50
47
)
51
48
49
+ # Check that the config flow shows the user form as the first step
50
+ assert result ["type" ] == data_entry_flow .RESULT_TYPE_FORM
51
+ assert result ["step_id" ] == "measurands"
52
+
53
+ # Call again for step_id == "measurands" with default input
54
+ result = await hass .config_entries .flow .async_configure (
55
+ result ["flow_id" ], user_input = {}
56
+ )
57
+
52
58
# Check that the config flow is complete and a new entry is created with
53
59
# the input data
54
60
assert result ["type" ] == data_entry_flow .RESULT_TYPE_CREATE_ENTRY
@@ -61,49 +67,49 @@ async def test_successful_config_flow(hass, bypass_get_data):
61
67
# We use the `error_on_get_data` mock instead of `bypass_get_data`
62
68
# (note the function parameters) to raise an Exception during
63
69
# validation of the input config.
64
- async def test_failed_config_flow (hass , error_on_get_data ):
65
- """Test a failed config flow due to credential validation failure."""
66
-
67
- result = await hass .config_entries .flow .async_init (
68
- DOMAIN , context = {"source" : config_entries .SOURCE_USER }
69
- )
70
-
71
- assert result ["type" ] == data_entry_flow .RESULT_TYPE_FORM
72
- assert result ["step_id" ] == "user"
73
-
74
- result = await hass .config_entries .flow .async_configure (
75
- result ["flow_id" ], user_input = MOCK_CONFIG
76
- )
77
-
78
- assert result ["type" ] == data_entry_flow .RESULT_TYPE_FORM
79
- assert result ["errors" ] == {"base" : "auth" }
80
-
81
-
82
- # Our config flow also has an options flow, so we must test it as well.
83
- async def test_options_flow (hass ):
84
- """Test an options flow."""
85
- # Create a new MockConfigEntry and add to HASS (we're bypassing config
86
- # flow entirely)
87
- entry = MockConfigEntry (domain = DOMAIN , data = MOCK_CONFIG , entry_id = "test" )
88
- entry .add_to_hass (hass )
89
-
90
- # Initialize an options flow
91
- await hass .config_entries .async_setup (entry .entry_id )
92
- result = await hass .config_entries .options .async_init (entry .entry_id )
93
-
94
- # Verify that the first options step is a user form
95
- assert result ["type" ] == data_entry_flow .RESULT_TYPE_FORM
96
- assert result ["step_id" ] == "user"
97
-
98
- # Enter some fake data into the form
99
- result = await hass .config_entries .options .async_configure (
100
- result ["flow_id" ],
101
- user_input = {platform : platform != SENSOR for platform in PLATFORMS },
102
- )
103
-
104
- # Verify that the flow finishes
105
- assert result ["type" ] == data_entry_flow .RESULT_TYPE_CREATE_ENTRY
106
- assert result ["title" ] == "test_username"
107
-
108
- # Verify that the options were updated
109
- assert entry .options == {BINARY_SENSOR : True , SENSOR : False , SWITCH : True }
70
+ # async def test_failed_config_flow(hass, error_on_get_data):
71
+ # """Test a failed config flow due to credential validation failure."""
72
+ #
73
+ # result = await hass.config_entries.flow.async_init(
74
+ # DOMAIN, context={"source": config_entries.SOURCE_USER}
75
+ # )
76
+ #
77
+ # assert result["type"] == data_entry_flow.RESULT_TYPE_FORM
78
+ # assert result["step_id"] == "user"
79
+ #
80
+ # result = await hass.config_entries.flow.async_configure(
81
+ # result["flow_id"], user_input=MOCK_CONFIG
82
+ # )
83
+ #
84
+ # assert result["type"] == data_entry_flow.RESULT_TYPE_FORM
85
+ # assert result["errors"] == {"base": "auth"}
86
+ #
87
+ #
88
+ # # Our config flow also has an options flow, so we must test it as well.
89
+ # async def test_options_flow(hass):
90
+ # """Test an options flow."""
91
+ # # Create a new MockConfigEntry and add to HASS (we're bypassing config
92
+ # # flow entirely)
93
+ # entry = MockConfigEntry(domain=DOMAIN, data=MOCK_CONFIG, entry_id="test")
94
+ # entry.add_to_hass(hass)
95
+ #
96
+ # # Initialize an options flow
97
+ # await hass.config_entries.async_setup(entry.entry_id)
98
+ # result = await hass.config_entries.options.async_init(entry.entry_id)
99
+ #
100
+ # # Verify that the first options step is a user form
101
+ # assert result["type"] == data_entry_flow.RESULT_TYPE_FORM
102
+ # assert result["step_id"] == "user"
103
+ #
104
+ # # Enter some fake data into the form
105
+ # result = await hass.config_entries.options.async_configure(
106
+ # result["flow_id"],
107
+ # user_input={platform: platform != SENSOR for platform in PLATFORMS},
108
+ # )
109
+ #
110
+ # # Verify that the flow finishes
111
+ # assert result["type"] == data_entry_flow.RESULT_TYPE_CREATE_ENTRY
112
+ # assert result["title"] == "test_username"
113
+ #
114
+ # # Verify that the options were updated
115
+ # assert entry.options == {BINARY_SENSOR: True, SENSOR: False, SWITCH: True}
0 commit comments