|
|
@@ -6,7 +6,7 @@ from ..mixins.light import BasicLightTests
|
|
|
from ..mixins.switch import SwitchableTests
|
|
|
from .base_device_tests import TuyaDeviceTestCase
|
|
|
|
|
|
-HVACMODE_DPS = "1"
|
|
|
+SWITCH_DPS = "1"
|
|
|
FANMODE_DPS = "2"
|
|
|
PRESET_DPS = "3"
|
|
|
SWING_DPS = "8"
|
|
|
@@ -20,7 +20,7 @@ class TestGoldairFan(BasicLightTests, SwitchableTests, TuyaDeviceTestCase):
|
|
|
def setUp(self):
|
|
|
self.setUpForConfig("goldair_fan.yaml", FAN_PAYLOAD)
|
|
|
self.subject = self.entities.get("fan")
|
|
|
- self.setUpSwitchable(HVACMODE_DPS, self.subject)
|
|
|
+ self.setUpSwitchable(SWITCH_DPS, self.subject)
|
|
|
self.setUpBasicLight(LIGHT_DPS, self.entities.get("light_display"))
|
|
|
self.mark_secondary(["light_display"])
|
|
|
|
|
|
@@ -35,21 +35,21 @@ class TestGoldairFan(BasicLightTests, SwitchableTests, TuyaDeviceTestCase):
|
|
|
)
|
|
|
|
|
|
def test_is_on(self):
|
|
|
- self.dps[HVACMODE_DPS] = True
|
|
|
+ self.dps[SWITCH_DPS] = True
|
|
|
self.assertTrue(self.subject.is_on)
|
|
|
|
|
|
- self.dps[HVACMODE_DPS] = False
|
|
|
+ self.dps[SWITCH_DPS] = False
|
|
|
self.assertFalse(self.subject.is_on)
|
|
|
|
|
|
async def test_turn_on(self):
|
|
|
async with assert_device_properties_set(
|
|
|
- self.subject._device, {HVACMODE_DPS: True}
|
|
|
+ self.subject._device, {SWITCH_DPS: True}
|
|
|
):
|
|
|
await self.subject.async_turn_on()
|
|
|
|
|
|
async def test_turn_off(self):
|
|
|
async with assert_device_properties_set(
|
|
|
- self.subject._device, {HVACMODE_DPS: False}
|
|
|
+ self.subject._device, {SWITCH_DPS: False}
|
|
|
):
|
|
|
await self.subject.async_turn_off()
|
|
|
|
|
|
@@ -116,21 +116,33 @@ class TestGoldairFan(BasicLightTests, SwitchableTests, TuyaDeviceTestCase):
|
|
|
|
|
|
async def test_set_speed_in_normal_mode(self):
|
|
|
self.dps[PRESET_DPS] = "normal"
|
|
|
+ self.dps[SWITCH_DPS] = True
|
|
|
async with assert_device_properties_set(self.subject._device, {FANMODE_DPS: 3}):
|
|
|
await self.subject.async_set_percentage(25)
|
|
|
|
|
|
async def test_set_speed_in_normal_mode_snaps(self):
|
|
|
self.dps[PRESET_DPS] = "normal"
|
|
|
+ self.dps[SWITCH_DPS] = True
|
|
|
async with assert_device_properties_set(
|
|
|
self.subject._device, {FANMODE_DPS: 10}
|
|
|
):
|
|
|
await self.subject.async_set_percentage(80)
|
|
|
|
|
|
- async def test_set_speed_in_sleep_mode_snaps(self):
|
|
|
+ async def test_set_speed_in_sleep_mode_while_off_snaps_and_turns_on(self):
|
|
|
self.dps[PRESET_DPS] = "sleep"
|
|
|
- async with assert_device_properties_set(self.subject._device, {FANMODE_DPS: 8}):
|
|
|
+ self.dps[SWITCH_DPS] = False
|
|
|
+ async with assert_device_properties_set(
|
|
|
+ self.subject._device, {FANMODE_DPS: 8, SWITCH_DPS: True}
|
|
|
+ ):
|
|
|
await self.subject.async_set_percentage(75)
|
|
|
|
|
|
+ async def test_set_speed_to_zero_turns_off(self):
|
|
|
+ self.dps[SWITCH_DPS] = True
|
|
|
+ async with assert_device_properties_set(
|
|
|
+ self.subject._device, {SWITCH_DPS: False}
|
|
|
+ ):
|
|
|
+ await self.subject.async_set_percentage(0)
|
|
|
+
|
|
|
def test_extra_state_attributes(self):
|
|
|
self.dps[TIMER_DPS] = "5"
|
|
|
self.assertEqual(self.subject.extra_state_attributes, {"timer": "5"})
|