Skip to content

Commit

Permalink
better coverage of many via station options in unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
miaucl committed Apr 28, 2024
1 parent 9fdae6f commit 0a72866
Showing 1 changed file with 28 additions and 6 deletions.
34 changes: 28 additions & 6 deletions tests/components/swiss_public_transport/test_config_flow.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,38 @@
MOCK_DATA_STEP = {
CONF_START: "test_start",
CONF_DESTINATION: "test_destination",
}

MOCK_DATA_STEP_ONE_VIA = {
**MOCK_DATA_STEP,
CONF_VIA: ["via_station"],
}

MOCK_DATA_STEP_MANY_VIA = {
**MOCK_DATA_STEP,
CONF_VIA: ["via_station_1", "via_station_2", "via_station_3"],
}

MOCK_DATA_STEP_TOO_MANY_STATIONS = {
**MOCK_DATA_STEP,
CONF_VIA: MOCK_DATA_STEP[CONF_VIA] * (MAX_VIA + 1),
CONF_VIA: MOCK_DATA_STEP_ONE_VIA[CONF_VIA] * (MAX_VIA + 1),
}


async def test_flow_user_init_data_success(hass: HomeAssistant) -> None:
@pytest.mark.parametrize(
("user_input", "config_title"),
[
(MOCK_DATA_STEP, "test_start test_destination"),
(MOCK_DATA_STEP_ONE_VIA, "test_start test_destination via via_station"),
(
MOCK_DATA_STEP_MANY_VIA,
"test_start test_destination via via_station_1, via_station_2, via_station_3",
),
],
)
async def test_flow_user_init_data_success(
hass: HomeAssistant, user_input, config_title
) -> None:
"""Test success response."""
result = await hass.config_entries.flow.async_init(
config_flow.DOMAIN, context={"source": "user"}
Expand All @@ -58,13 +80,13 @@ async def test_flow_user_init_data_success(hass: HomeAssistant) -> None:
)
result = await hass.config_entries.flow.async_configure(
result["flow_id"],
user_input=MOCK_DATA_STEP,
user_input=user_input,
)

assert result["type"] == FlowResultType.CREATE_ENTRY
assert result["result"].title == "test_start test_destination via via_station"
assert result["result"].title == config_title

assert result["data"] == MOCK_DATA_STEP
assert result["data"] == user_input


@pytest.mark.parametrize(
Expand Down Expand Up @@ -105,7 +127,7 @@ async def test_flow_user_init_data_error_and_recover(
)

assert result["type"] == FlowResultType.CREATE_ENTRY
assert result["result"].title == "test_start test_destination via via_station"
assert result["result"].title == "test_start test_destination"

assert result["data"] == MOCK_DATA_STEP

Expand Down

0 comments on commit 0a72866

Please sign in to comment.