mirror of
https://github.com/home-assistant/core.git
synced 2025-07-25 14:17:45 +00:00
Fix test in Husqvarna Automower (#144055)
This commit is contained in:
parent
4013b418dd
commit
b8881ed85b
@ -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(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user