Add significant change support to lock (#45726)

This commit is contained in:
Aaron Bach 2021-01-30 01:03:54 -07:00 committed by GitHub
parent 07a4422a70
commit 85e6bc581f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 43 additions and 0 deletions

View File

@ -0,0 +1,20 @@
"""Helper to test significant Lock state changes."""
from typing import Any, Optional
from homeassistant.core import HomeAssistant, callback
@callback
def async_check_significant_change(
hass: HomeAssistant,
old_state: str,
old_attrs: dict,
new_state: str,
new_attrs: dict,
**kwargs: Any,
) -> Optional[bool]:
"""Test if state significantly changed."""
if old_state != new_state:
return True
return False

View File

@ -0,0 +1,23 @@
"""Test the Lock significant change platform."""
from homeassistant.components.lock.significant_change import (
async_check_significant_change,
)
async def test_significant_change():
"""Detect Lock significant changes."""
old_attrs = {"attr_1": "a"}
new_attrs = {"attr_1": "b"}
assert (
async_check_significant_change(None, "locked", old_attrs, "locked", old_attrs)
is False
)
assert (
async_check_significant_change(None, "locked", old_attrs, "locked", new_attrs)
is False
)
assert (
async_check_significant_change(None, "locked", old_attrs, "unlocked", old_attrs)
is True
)