python-kasa/tests/smart/modules/test_doubleclick.py
2025-01-07 12:53:10 +00:00

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)