Move tests folder to top level of project (#1242)

This commit is contained in:
Steven B.
2024-11-11 10:11:31 +00:00
committed by GitHub
parent e5dd874333
commit 32671da9e9
212 changed files with 97 additions and 76 deletions

View File

View File

@@ -0,0 +1,47 @@
from pytest_mock import MockerFixture
from kasa import Module
from kasa.iot import IotDimmer
from kasa.iot.modules.ambientlight import AmbientLight
from ...device_fixtures import dimmer_iot
@dimmer_iot
def test_ambientlight_getters(dev: IotDimmer):
assert Module.IotAmbientLight in dev.modules
ambientlight: AmbientLight = dev.modules[Module.IotAmbientLight]
assert ambientlight.enabled == ambientlight.config["enable"]
assert ambientlight.presets == ambientlight.config["level_array"]
assert (
ambientlight.ambientlight_brightness
== ambientlight.data["get_current_brt"]["value"]
)
@dimmer_iot
async def test_ambientlight_setters(dev: IotDimmer, mocker: MockerFixture):
ambientlight: AmbientLight = dev.modules[Module.IotAmbientLight]
query_helper = mocker.patch("kasa.iot.IotDimmer._query_helper")
await ambientlight.set_enabled(True)
query_helper.assert_called_with("smartlife.iot.LAS", "set_enable", {"enable": True})
await ambientlight.set_brightness_limit(10)
query_helper.assert_called_with(
"smartlife.iot.LAS", "set_brt_level", {"index": 0, "value": 10}
)
@dimmer_iot
def test_ambientlight_feature(dev: IotDimmer):
assert Module.IotAmbientLight in dev.modules
ambientlight: AmbientLight = dev.modules[Module.IotAmbientLight]
enabled = dev.features["ambient_light_enabled"]
assert ambientlight.enabled == enabled.value
brightness = dev.features["ambient_light"]
assert ambientlight.ambientlight_brightness == brightness.value

View File

@@ -0,0 +1,58 @@
from pytest_mock import MockerFixture
from kasa import Module
from kasa.iot import IotDimmer
from kasa.iot.modules.motion import Motion, Range
from ...device_fixtures import dimmer_iot
@dimmer_iot
def test_motion_getters(dev: IotDimmer):
assert Module.IotMotion in dev.modules
motion: Motion = dev.modules[Module.IotMotion]
assert motion.enabled == motion.config["enable"]
assert motion.inactivity_timeout == motion.config["cold_time"]
assert motion.range.value == motion.config["trigger_index"]
@dimmer_iot
async def test_motion_setters(dev: IotDimmer, mocker: MockerFixture):
motion: Motion = dev.modules[Module.IotMotion]
query_helper = mocker.patch("kasa.iot.IotDimmer._query_helper")
await motion.set_enabled(True)
query_helper.assert_called_with("smartlife.iot.PIR", "set_enable", {"enable": True})
await motion.set_inactivity_timeout(10)
query_helper.assert_called_with(
"smartlife.iot.PIR", "set_cold_time", {"cold_time": 10}
)
@dimmer_iot
async def test_motion_range(dev: IotDimmer, mocker: MockerFixture):
motion: Motion = dev.modules[Module.IotMotion]
query_helper = mocker.patch("kasa.iot.IotDimmer._query_helper")
await motion.set_range(custom_range=123)
query_helper.assert_called_with(
"smartlife.iot.PIR",
"set_trigger_sens",
{"index": Range.Custom.value, "value": 123},
)
await motion.set_range(range=Range.Far)
query_helper.assert_called_with(
"smartlife.iot.PIR", "set_trigger_sens", {"index": Range.Far.value}
)
@dimmer_iot
def test_motion_feature(dev: IotDimmer):
assert Module.IotMotion in dev.modules
motion: Motion = dev.modules[Module.IotMotion]
pir_enabled = dev.features["pir_enabled"]
assert motion.enabled == pir_enabled.value