mirror of
https://github.com/python-kasa/python-kasa.git
synced 2025-05-30 21:51:24 +00:00
44 lines
1.2 KiB
Python
44 lines
1.2 KiB
Python
"""Tests for smart double click module."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from kasa import Device
|
|
from kasa.smartcam.smartcammodule import SmartModule
|
|
|
|
from ...device_fixtures import parametrize
|
|
|
|
doubleclick = parametrize(
|
|
"has double click", component_filter="double_click", protocol_filter={"SMART.CHILD"}
|
|
)
|
|
|
|
|
|
@doubleclick
|
|
async def test_doubleclick(dev: Device):
|
|
"""Test device double click."""
|
|
doubleclick = dev.modules.get(SmartModule.SmartDoubleClick)
|
|
assert doubleclick
|
|
|
|
dc_feat = dev.features.get("double_click")
|
|
assert dc_feat
|
|
|
|
original_enabled = doubleclick.enabled
|
|
|
|
try:
|
|
await doubleclick.set_enabled(not original_enabled)
|
|
await dev.update()
|
|
assert doubleclick.enabled is not original_enabled
|
|
assert dc_feat.value is not original_enabled
|
|
|
|
await doubleclick.set_enabled(original_enabled)
|
|
await dev.update()
|
|
assert doubleclick.enabled is original_enabled
|
|
assert dc_feat.value is original_enabled
|
|
|
|
await dc_feat.set_value(not original_enabled)
|
|
await dev.update()
|
|
assert doubleclick.enabled is not original_enabled
|
|
assert dc_feat.value is not original_enabled
|
|
|
|
finally:
|
|
await doubleclick.set_enabled(original_enabled)
|