test_goldair_gpdh340_dehumidifier.py 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. from ..const import GOLDAIR_GPDH340_PAYLOAD
  2. from ..helpers import assert_device_properties_set
  3. from ..mixins.switch import SwitchableTests
  4. from .base_device_tests import TuyaDeviceTestCase
  5. SWITCH_DP = "1"
  6. MODE_DP = "2"
  7. HUMIDITY_DP = "4"
  8. FAN_DP = "6"
  9. ERROR_DP = "11"
  10. CURRENTTEMP_DP = "103"
  11. CURRENTHUMID_DP = "104"
  12. MODEL_DP = "105"
  13. CHILDLOCK_DP = "106"
  14. DISPLAY_DP = "107"
  15. FILTERCLEAN_DP = "108"
  16. PUMP_DP = "109"
  17. class TestGPDH340Dehumidifier(SwitchableTests, TuyaDeviceTestCase):
  18. __test__ = True
  19. def setUp(self):
  20. self.setUpForConfig(
  21. "goldair_gpdh340_dehumidifier.yaml", GOLDAIR_GPDH340_PAYLOAD
  22. )
  23. self.subject = self.entities.get("humidifier")
  24. self.setUpSwitchable(SWITCH_DP, self.subject)
  25. self.mark_secondary(
  26. [
  27. "light_front_display",
  28. "lock_child_lock",
  29. "binary_sensor_tank",
  30. "binary_sensor_fault",
  31. "binary_sensor_filter_clean_required",
  32. ]
  33. )
  34. def test_available_modes(self):
  35. self.assertCountEqual(
  36. self.subject.available_modes,
  37. ["Sleeping space", "Living space", "Basement", "Continuous"],
  38. )
  39. def test_mode(self):
  40. self.dps[MODE_DP] = "2"
  41. self.assertEqual(self.subject.mode, "Custom")
  42. self.dps[MODE_DP] = "4"
  43. self.assertEqual(self.subject.mode, "Sleeping space")
  44. self.dps[MODE_DP] = "5"
  45. self.assertEqual(self.subject.mode, "Living space")
  46. self.dps[MODE_DP] = "6"
  47. self.assertEqual(self.subject.mode, "Basement")
  48. self.dps[MODE_DP] = "7"
  49. self.assertEqual(self.subject.mode, "Continuous")
  50. async def test_async_set_mode(self):
  51. async with assert_device_properties_set(self.subject._device, {MODE_DP: "6"}):
  52. await self.subject.async_set_mode("Basement")