Fix test in Husqvarna Automower (#144055)

This commit is contained in:
Thomas55555 2025-05-01 16:36:05 +02:00 committed by GitHub
parent 4013b418dd
commit b8881ed85b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -21,37 +21,42 @@ from .const import TEST_MOWER_ID
from tests.common import MockConfigEntry, async_fire_time_changed
async def test_lawn_mower_states(
hass: HomeAssistant,
mock_automower_client: AsyncMock,
mock_config_entry: MockConfigEntry,
freezer: FrozenDateTimeFactory,
values: dict[str, MowerAttributes],
) -> None:
"""Test lawn_mower state."""
await setup_integration(hass, mock_config_entry)
state = hass.states.get("lawn_mower.test_mower_1")
assert state is not None
assert state.state == LawnMowerActivity.DOCKED
for activity, state, expected_state in (
@pytest.mark.parametrize(
("activity", "mower_state", "expected_state"),
[
(MowerActivities.UNKNOWN, MowerStates.PAUSED, LawnMowerActivity.PAUSED),
(MowerActivities.MOWING, MowerStates.NOT_APPLICABLE, LawnMowerActivity.MOWING),
(MowerActivities.MOWING, MowerStates.IN_OPERATION, LawnMowerActivity.MOWING),
(MowerActivities.NOT_APPLICABLE, MowerStates.ERROR, LawnMowerActivity.ERROR),
(
MowerActivities.GOING_HOME,
MowerStates.IN_OPERATION,
LawnMowerActivity.RETURNING,
),
):
values[TEST_MOWER_ID].mower.activity = activity
values[TEST_MOWER_ID].mower.state = state
mock_automower_client.get_status.return_value = values
freezer.tick(SCAN_INTERVAL)
async_fire_time_changed(hass)
await hass.async_block_till_done()
state = hass.states.get("lawn_mower.test_mower_1")
assert state.state == expected_state
],
)
async def test_lawn_mower_states(
hass: HomeAssistant,
mock_automower_client: AsyncMock,
mock_config_entry: MockConfigEntry,
freezer: FrozenDateTimeFactory,
values: dict[str, MowerAttributes],
activity: MowerActivities,
mower_state: MowerStates,
expected_state: LawnMowerActivity,
) -> None:
"""Test lawn_mower state."""
await setup_integration(hass, mock_config_entry)
state = hass.states.get("lawn_mower.test_mower_1")
assert state is not None
assert state.state == LawnMowerActivity.DOCKED
values[TEST_MOWER_ID].mower.activity = activity
values[TEST_MOWER_ID].mower.state = mower_state
mock_automower_client.get_status.return_value = values
freezer.tick(SCAN_INTERVAL)
async_fire_time_changed(hass)
await hass.async_block_till_done()
state = hass.states.get("lawn_mower.test_mower_1")
assert state.state == expected_state
@pytest.mark.parametrize(