test_smartplug_encoded.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. """Tests for the switch entity."""
  2. from homeassistant.components.number import NumberDeviceClass
  3. from homeassistant.components.switch import SwitchDeviceClass
  4. from homeassistant.const import UnitOfTime
  5. from ..const import SMARTPLUG_ENCODED_PAYLOAD
  6. from ..mixins.number import BasicNumberTests
  7. from ..mixins.switch import SwitchableTests
  8. from .base_device_tests import TuyaDeviceTestCase
  9. SWITCH_DPS = "1"
  10. TIMER_DPS = "11"
  11. RANDOM_DPS = "101"
  12. CIRCULATE_DPS = "102"
  13. SCHEDULE_DPS = "103"
  14. class TestSwitchEncoded(BasicNumberTests, SwitchableTests, TuyaDeviceTestCase):
  15. __test__ = True
  16. def setUp(self):
  17. self.setUpForConfig("smartplug_encoded.yaml", SMARTPLUG_ENCODED_PAYLOAD)
  18. self.subject = self.entities.get("switch_outlet")
  19. self.setUpSwitchable(SWITCH_DPS, self.subject)
  20. self.setUpBasicNumber(
  21. TIMER_DPS,
  22. self.entities.get("number_timer"),
  23. max=1440.0,
  24. unit=UnitOfTime.MINUTES,
  25. device_class=NumberDeviceClass.DURATION,
  26. scale=60,
  27. )
  28. self.mark_secondary(["number_timer", "time_timer"])
  29. def test_device_class_is_outlet(self):
  30. self.assertEqual(self.subject.device_class, SwitchDeviceClass.OUTLET)