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 from tests.common import MockConfigEntry, async_fire_time_changed
async def test_lawn_mower_states( @pytest.mark.parametrize(
hass: HomeAssistant, ("activity", "mower_state", "expected_state"),
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 (
(MowerActivities.UNKNOWN, MowerStates.PAUSED, LawnMowerActivity.PAUSED), (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.NOT_APPLICABLE, MowerStates.ERROR, LawnMowerActivity.ERROR),
( (
MowerActivities.GOING_HOME, MowerActivities.GOING_HOME,
MowerStates.IN_OPERATION, MowerStates.IN_OPERATION,
LawnMowerActivity.RETURNING, LawnMowerActivity.RETURNING,
), ),
): ],
values[TEST_MOWER_ID].mower.activity = activity )
values[TEST_MOWER_ID].mower.state = state async def test_lawn_mower_states(
mock_automower_client.get_status.return_value = values hass: HomeAssistant,
freezer.tick(SCAN_INTERVAL) mock_automower_client: AsyncMock,
async_fire_time_changed(hass) mock_config_entry: MockConfigEntry,
await hass.async_block_till_done() freezer: FrozenDateTimeFactory,
state = hass.states.get("lawn_mower.test_mower_1") values: dict[str, MowerAttributes],
assert state.state == expected_state 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( @pytest.mark.parametrize(