test_gosund_SW2_dimmer_switch.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. """Tests for the switch entity."""
  2. from homeassistant.components.binary_sensor import BinarySensorDeviceClass
  3. from homeassistant.components.switch import SwitchDeviceClass
  4. from ..const import GOSUND_DUMMER_SWITCH_PAYLOAD
  5. from ..mixins.binary_sensor import BasicBinarySensorTests
  6. from ..mixins.switch import SwitchableTests
  7. from .base_device_tests import TuyaDeviceTestCase
  8. SWITCH_DPS = "1"
  9. BRIGHTNESS_DPS = "3"
  10. TEMPERATURE_DPS = "101"
  11. class TestGosundSwitch(
  12. BasicBinarySensorTests,
  13. SwitchableTests,
  14. TuyaDeviceTestCase,
  15. ):
  16. __test__ = True
  17. def setUp(self):
  18. self.setUpForConfig("gosund_SW2_dimmer_switch.yaml", GOSUND_DUMMER_SWITCH_PAYLOAD)
  19. self.subject = self.entities.get("light")
  20. self.setUpSwitchable(SWITCH_DPS, self.subject)
  21. self.setUpBasicBinarySensor(
  22. TEMPERATURE_DPS,
  23. self.entities.get("binary_sensor_temperature_alarm"),
  24. device_class=BinarySensorDeviceClass.PROBLEM,
  25. )
  26. self.mark_secondary(["binary_sensor_temperature_alarm"])
  27. def test_device_class_is_light(self):
  28. self.assertEqual(self.subject.device_class, SwitchDeviceClass.LIGHT)
  29. def test_switch_is_on(self):
  30. self.dps[SWITCH_DPS] = False
  31. self.assertFalse(self.light.is_on)
  32. self.dps[SWITCH_DPS] = True
  33. self.assertTrue(self.light.is_on)
  34. def test_light_brightness(self):
  35. self.dps[BRIGHTNESS_DPS] = 50
  36. self.assertAlmostEqual(self.light.brightness, 129, 0)