|
21 | 21 | from tests.common import MockConfigEntry, async_fire_time_changed |
22 | 22 |
|
23 | 23 |
|
| 24 | +@pytest.mark.parametrize( |
| 25 | + ("activity", "mower_state", "expected_state"), |
| 26 | + [ |
| 27 | + (MowerActivities.UNKNOWN, MowerStates.PAUSED, LawnMowerActivity.PAUSED), |
| 28 | + (MowerActivities.MOWING, MowerStates.IN_OPERATION, LawnMowerActivity.MOWING), |
| 29 | + (MowerActivities.NOT_APPLICABLE, MowerStates.ERROR, LawnMowerActivity.ERROR), |
| 30 | + ( |
| 31 | + MowerActivities.GOING_HOME, |
| 32 | + MowerStates.IN_OPERATION, |
| 33 | + LawnMowerActivity.RETURNING, |
| 34 | + ), |
| 35 | + ], |
| 36 | +) |
24 | 37 | async def test_lawn_mower_states( |
25 | 38 | hass: HomeAssistant, |
26 | 39 | mock_automower_client: AsyncMock, |
27 | 40 | mock_config_entry: MockConfigEntry, |
28 | 41 | freezer: FrozenDateTimeFactory, |
29 | 42 | values: dict[str, MowerAttributes], |
| 43 | + activity: MowerActivities, |
| 44 | + mower_state: MowerStates, |
| 45 | + expected_state: LawnMowerActivity, |
30 | 46 | ) -> None: |
31 | 47 | """Test lawn_mower state.""" |
32 | 48 | await setup_integration(hass, mock_config_entry) |
33 | 49 | state = hass.states.get("lawn_mower.test_mower_1") |
34 | 50 | assert state is not None |
35 | 51 | assert state.state == LawnMowerActivity.DOCKED |
36 | | - |
37 | | - for activity, state, expected_state in ( |
38 | | - (MowerActivities.UNKNOWN, MowerStates.PAUSED, LawnMowerActivity.PAUSED), |
39 | | - (MowerActivities.MOWING, MowerStates.NOT_APPLICABLE, LawnMowerActivity.MOWING), |
40 | | - (MowerActivities.NOT_APPLICABLE, MowerStates.ERROR, LawnMowerActivity.ERROR), |
41 | | - ( |
42 | | - MowerActivities.GOING_HOME, |
43 | | - MowerStates.IN_OPERATION, |
44 | | - LawnMowerActivity.RETURNING, |
45 | | - ), |
46 | | - ): |
47 | | - values[TEST_MOWER_ID].mower.activity = activity |
48 | | - values[TEST_MOWER_ID].mower.state = state |
49 | | - mock_automower_client.get_status.return_value = values |
50 | | - freezer.tick(SCAN_INTERVAL) |
51 | | - async_fire_time_changed(hass) |
52 | | - await hass.async_block_till_done() |
53 | | - state = hass.states.get("lawn_mower.test_mower_1") |
54 | | - assert state.state == expected_state |
| 52 | + values[TEST_MOWER_ID].mower.activity = activity |
| 53 | + values[TEST_MOWER_ID].mower.state = mower_state |
| 54 | + mock_automower_client.get_status.return_value = values |
| 55 | + freezer.tick(SCAN_INTERVAL) |
| 56 | + async_fire_time_changed(hass) |
| 57 | + await hass.async_block_till_done() |
| 58 | + state = hass.states.get("lawn_mower.test_mower_1") |
| 59 | + assert state.state == expected_state |
55 | 60 |
|
56 | 61 |
|
57 | 62 | @pytest.mark.parametrize( |
|
0 commit comments