mirror of
https://github.com/home-assistant/core.git
synced 2025-12-27 14:31:13 +00:00
Change lock state to an enum (#126379)
* Add new LockState enum for lock states * Add rest * Fix insteon tests * Fix mqtt tests * Fix tesla_fleet * Revert back ST_STATE_LOCKED * Add back constant
This commit is contained in:
@@ -10,19 +10,9 @@ from homeassistant.components.lock import (
|
||||
SERVICE_LOCK,
|
||||
SERVICE_OPEN,
|
||||
SERVICE_UNLOCK,
|
||||
STATE_JAMMED,
|
||||
STATE_LOCKED,
|
||||
STATE_LOCKING,
|
||||
STATE_UNLOCKED,
|
||||
STATE_UNLOCKING,
|
||||
)
|
||||
from homeassistant.const import (
|
||||
ATTR_ENTITY_ID,
|
||||
EVENT_STATE_CHANGED,
|
||||
STATE_OPEN,
|
||||
STATE_OPENING,
|
||||
Platform,
|
||||
LockState,
|
||||
)
|
||||
from homeassistant.const import ATTR_ENTITY_ID, EVENT_STATE_CHANGED, Platform
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.setup import async_setup_component
|
||||
|
||||
@@ -57,7 +47,7 @@ async def setup_comp(hass: HomeAssistant, lock_only: None):
|
||||
async def test_locking(hass: HomeAssistant) -> None:
|
||||
"""Test the locking of a lock."""
|
||||
state = hass.states.get(KITCHEN)
|
||||
assert state.state == STATE_UNLOCKED
|
||||
assert state.state == LockState.UNLOCKED
|
||||
await hass.async_block_till_done()
|
||||
|
||||
state_changes = async_capture_events(hass, EVENT_STATE_CHANGED)
|
||||
@@ -67,17 +57,17 @@ async def test_locking(hass: HomeAssistant) -> None:
|
||||
await hass.async_block_till_done()
|
||||
|
||||
assert state_changes[0].data["entity_id"] == KITCHEN
|
||||
assert state_changes[0].data["new_state"].state == STATE_LOCKING
|
||||
assert state_changes[0].data["new_state"].state == LockState.LOCKING
|
||||
|
||||
assert state_changes[1].data["entity_id"] == KITCHEN
|
||||
assert state_changes[1].data["new_state"].state == STATE_LOCKED
|
||||
assert state_changes[1].data["new_state"].state == LockState.LOCKED
|
||||
|
||||
|
||||
@patch.object(demo_lock, "LOCK_UNLOCK_DELAY", 0)
|
||||
async def test_unlocking(hass: HomeAssistant) -> None:
|
||||
"""Test the unlocking of a lock."""
|
||||
state = hass.states.get(FRONT)
|
||||
assert state.state == STATE_LOCKED
|
||||
assert state.state == LockState.LOCKED
|
||||
await hass.async_block_till_done()
|
||||
|
||||
state_changes = async_capture_events(hass, EVENT_STATE_CHANGED)
|
||||
@@ -87,17 +77,17 @@ async def test_unlocking(hass: HomeAssistant) -> None:
|
||||
await hass.async_block_till_done()
|
||||
|
||||
assert state_changes[0].data["entity_id"] == FRONT
|
||||
assert state_changes[0].data["new_state"].state == STATE_UNLOCKING
|
||||
assert state_changes[0].data["new_state"].state == LockState.UNLOCKING
|
||||
|
||||
assert state_changes[1].data["entity_id"] == FRONT
|
||||
assert state_changes[1].data["new_state"].state == STATE_UNLOCKED
|
||||
assert state_changes[1].data["new_state"].state == LockState.UNLOCKED
|
||||
|
||||
|
||||
@patch.object(demo_lock, "LOCK_UNLOCK_DELAY", 0)
|
||||
async def test_opening(hass: HomeAssistant) -> None:
|
||||
"""Test the opening of a lock."""
|
||||
state = hass.states.get(OPENABLE_LOCK)
|
||||
assert state.state == STATE_LOCKED
|
||||
assert state.state == LockState.LOCKED
|
||||
await hass.async_block_till_done()
|
||||
|
||||
state_changes = async_capture_events(hass, EVENT_STATE_CHANGED)
|
||||
@@ -107,17 +97,17 @@ async def test_opening(hass: HomeAssistant) -> None:
|
||||
await hass.async_block_till_done()
|
||||
|
||||
assert state_changes[0].data["entity_id"] == OPENABLE_LOCK
|
||||
assert state_changes[0].data["new_state"].state == STATE_OPENING
|
||||
assert state_changes[0].data["new_state"].state == LockState.OPENING
|
||||
|
||||
assert state_changes[1].data["entity_id"] == OPENABLE_LOCK
|
||||
assert state_changes[1].data["new_state"].state == STATE_OPEN
|
||||
assert state_changes[1].data["new_state"].state == LockState.OPEN
|
||||
|
||||
|
||||
@patch.object(demo_lock, "LOCK_UNLOCK_DELAY", 0)
|
||||
async def test_jammed_when_locking(hass: HomeAssistant) -> None:
|
||||
"""Test the locking of a lock jams."""
|
||||
state = hass.states.get(POORLY_INSTALLED)
|
||||
assert state.state == STATE_UNLOCKED
|
||||
assert state.state == LockState.UNLOCKED
|
||||
await hass.async_block_till_done()
|
||||
|
||||
state_changes = async_capture_events(hass, EVENT_STATE_CHANGED)
|
||||
@@ -127,10 +117,10 @@ async def test_jammed_when_locking(hass: HomeAssistant) -> None:
|
||||
await hass.async_block_till_done()
|
||||
|
||||
assert state_changes[0].data["entity_id"] == POORLY_INSTALLED
|
||||
assert state_changes[0].data["new_state"].state == STATE_LOCKING
|
||||
assert state_changes[0].data["new_state"].state == LockState.LOCKING
|
||||
|
||||
assert state_changes[1].data["entity_id"] == POORLY_INSTALLED
|
||||
assert state_changes[1].data["new_state"].state == STATE_JAMMED
|
||||
assert state_changes[1].data["new_state"].state == LockState.JAMMED
|
||||
|
||||
|
||||
async def test_opening_mocked(hass: HomeAssistant) -> None:
|
||||
|
||||
Reference in New Issue
Block a user