Reduce missed coverage in zwave_js (#79571)
* Reduce missed coverage in zwave_js.climate and cover * Add switch platform coverage * Add select platform * Add lock platform * Remove one line of coverage from number platform * update docstring
This commit is contained in:
parent
c717fd19de
commit
d4c28e04e4
8 changed files with 160 additions and 28 deletions
|
@ -1,7 +1,12 @@
|
|||
"""Test the Z-Wave JS lock platform."""
|
||||
from zwave_js_server.const.command_class.lock import ATTR_CODE_SLOT, ATTR_USERCODE
|
||||
from zwave_js_server.const import CommandClass
|
||||
from zwave_js_server.const.command_class.lock import (
|
||||
ATTR_CODE_SLOT,
|
||||
ATTR_USERCODE,
|
||||
CURRENT_MODE_PROPERTY,
|
||||
)
|
||||
from zwave_js_server.event import Event
|
||||
from zwave_js_server.model.node import NodeStatus
|
||||
from zwave_js_server.model.node import Node, NodeStatus
|
||||
|
||||
from homeassistant.components.lock import (
|
||||
DOMAIN as LOCK_DOMAIN,
|
||||
|
@ -9,6 +14,7 @@ from homeassistant.components.lock import (
|
|||
SERVICE_UNLOCK,
|
||||
)
|
||||
from homeassistant.components.zwave_js.const import DOMAIN as ZWAVE_JS_DOMAIN
|
||||
from homeassistant.components.zwave_js.helpers import ZwaveValueMatcher
|
||||
from homeassistant.components.zwave_js.lock import (
|
||||
SERVICE_CLEAR_LOCK_USERCODE,
|
||||
SERVICE_SET_LOCK_USERCODE,
|
||||
|
@ -17,10 +23,11 @@ from homeassistant.const import (
|
|||
ATTR_ENTITY_ID,
|
||||
STATE_LOCKED,
|
||||
STATE_UNAVAILABLE,
|
||||
STATE_UNKNOWN,
|
||||
STATE_UNLOCKED,
|
||||
)
|
||||
|
||||
from .common import SCHLAGE_BE469_LOCK_ENTITY
|
||||
from .common import SCHLAGE_BE469_LOCK_ENTITY, replace_value_of_zwave_value
|
||||
|
||||
|
||||
async def test_door_lock(hass, client, lock_schlage_be469, integration):
|
||||
|
@ -160,3 +167,23 @@ async def test_door_lock(hass, client, lock_schlage_be469, integration):
|
|||
async def test_only_one_lock(hass, client, lock_home_connect_620, integration):
|
||||
"""Test node with both Door Lock and Lock CC values only gets one lock entity."""
|
||||
assert len(hass.states.async_entity_ids("lock")) == 1
|
||||
|
||||
|
||||
async def test_door_lock_no_value(hass, client, lock_schlage_be469_state, integration):
|
||||
"""Test a lock entity with door lock command class that has no value for mode."""
|
||||
node_state = replace_value_of_zwave_value(
|
||||
lock_schlage_be469_state,
|
||||
[
|
||||
ZwaveValueMatcher(
|
||||
property_=CURRENT_MODE_PROPERTY,
|
||||
command_class=CommandClass.DOOR_LOCK,
|
||||
)
|
||||
],
|
||||
None,
|
||||
)
|
||||
node = Node(client, node_state)
|
||||
client.driver.controller.emit("node added", {"node": node})
|
||||
await hass.async_block_till_done()
|
||||
state = hass.states.get(SCHLAGE_BE469_LOCK_ENTITY)
|
||||
assert state
|
||||
assert state.state == STATE_UNKNOWN
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue