async def test_set_level_update(api): """Tests the set_level method.""" # Arrange device = DeviceEntity(api, device_id=DEVICE_ID) # Act result = await device.set_level(75, 2, True) # Assert assert result assert device.status.level == 75 assert device.status.switch
async def test_switch_off_update(api): """Tests the switch_on method.""" # Arrange device = DeviceEntity(api, device_id=DEVICE_ID) device.status.switch = True # Act result = await device.switch_off(True) # Assert assert result assert not device.status.switch
async def test_set_fan_speed_update(api): """Tests the set_fan_speed method.""" # Arrange device = DeviceEntity(api, device_id=DEVICE_ID) # Act result = await device.set_fan_speed(66, True) # Assert assert result assert device.status.fan_speed == 66 assert device.status.switch
async def test_open(api): """Tests the open method.""" # Arrange device = DeviceEntity(api, device_id=DEVICE_ID) device.capabilities.append(Capability.door_control) # Act/Assert assert await device.open() assert device.status.door is None assert await device.open(set_status=True) assert device.status.door == 'opening'
async def test_close_window_shade(api): """Tests the close method.""" # Arrange device = DeviceEntity(api, device_id=DEVICE_ID) device.capabilities.append(Capability.window_shade) # Act/Assert assert await device.close() assert device.status.window_shade is None assert await device.close(set_status=True) assert device.status.window_shade == "closing"
async def test_close_legacy(api): """Tests the close method.""" # Arrange device = DeviceEntity(api, device_id=DEVICE_ID) device.capabilities.append(Capability.garage_door_control) # Act/Assert assert await device.close() assert device.status.door is None assert await device.close(set_status=True) assert device.status.door == "closing"
async def test_set_fan_speed(api): """Tests the set_fan_speed method.""" # Arrange device = DeviceEntity(api, device_id=DEVICE_ID) # Act result = await device.set_fan_speed(66) # Assert assert result assert device.status.level == 0 assert not device.status.switch
async def test_set_color_hex(api): """Tests the set_color method.""" # Arrange device = DeviceEntity(api, device_id=DEVICE_ID) # Act result = await device.set_color(color_hex='#4B6432') # Assert assert result assert device.status.hue == 0 assert device.status.saturation == 0 assert device.status.color is None
async def test_set_thermostat_fan_mode_update(api): """Tests the set_saturation method.""" # Arrange device = DeviceEntity(api, device_id=DEVICE_ID) device.capabilities.append(Capability.thermostat_fan_mode) device.status.thermostat_fan_mode = "on" # Act result = await device.set_thermostat_fan_mode("auto", set_status=True) # Assert assert result assert device.status.thermostat_fan_mode == "auto"
async def test_set_heating_setpoint_update(api): """Tests the set_heating_setpoint method.""" # Arrange device = DeviceEntity(api, device_id=DEVICE_ID) device.capabilities.append(Capability.thermostat_heating_setpoint) device.status.heating_setpoint = 70 # Act result = await device.set_heating_setpoint(76, set_status=True) # Assert assert result assert device.status.heating_setpoint == 76
async def test_override_drlc_action(api): """Tests the override_drlc_action method.""" # Arrange device = DeviceEntity(api, device_id=DEVICE_ID) # Act/Assert assert await device.override_drlc_action(True) assert device.status.drlc_status is None assert await device.override_drlc_action(True, set_status=True) assert device.status.drlc_status == { "override": True }
async def test_set_thermostat_mode_update(api): """Tests the set_thermostat_mode method.""" # Arrange device = DeviceEntity(api, device_id=DEVICE_ID) device.capabilities.append(Capability.thermostat_mode) device.status.thermostat_mode = 'heat' # Act result = await device.set_thermostat_mode('auto', set_status=True) # Assert assert result assert device.status.thermostat_mode == 'auto'
async def test_set_cooling_setpoint_mode(api): """Tests the set_cooling_setpoint method.""" # Arrange device = DeviceEntity(api, device_id=DEVICE_ID) device.capabilities.append(Capability.thermostat_cooling_setpoint) device.status.cooling_setpoint = 70 # Act result = await device.set_cooling_setpoint(76) # Assert assert result assert device.status.cooling_setpoint != 76
async def test_set_thermostat_fan_mode(api): """Tests the set_saturation method.""" # Arrange device = DeviceEntity(api, device_id=DEVICE_ID) device.capabilities.append(Capability.thermostat_fan_mode) device.status.thermostat_fan_mode = 'on' # Act result = await device.set_thermostat_fan_mode('auto') # Assert assert result assert device.status.thermostat_fan_mode != 'auto'
async def test_set_color_update_hex(api): """Tests the set_saturation method.""" # Arrange device = DeviceEntity(api, device_id=DEVICE_ID) # Act result = await device.set_color(color_hex='#4B6432', set_status=True) # Assert assert result assert device.status.hue == 25 assert device.status.saturation == 50 assert device.status.color == '#4B6432'
async def test_set_thermostat_mode(api): """Tests the set_thermostat_mode method.""" # Arrange device = DeviceEntity(api, device_id=DEVICE_ID) device.capabilities.append(Capability.thermostat_mode) device.status.thermostat_mode = "heat" # Act result = await device.set_thermostat_mode("auto") # Assert assert result assert device.status.thermostat_mode != "auto"
async def test_set_color_invalid(api): """Tests the set_saturation method invalid values.""" # Arrange device = DeviceEntity(api, device_id=DEVICE_ID) # Assert values = [-1, 101] for value in values: with pytest.raises(ValueError): await device.set_color(value, 0) with pytest.raises(ValueError): await device.set_color(0, value)
async def test_set_level_invalid(api): """Tests the set_level method invalid values.""" # Arrange device = DeviceEntity(api, device_id=DEVICE_ID) # Assert level levels = [-1, 101] for level in levels: with pytest.raises(ValueError): await device.set_level(level) # Assert duration with pytest.raises(ValueError): await device.set_level(100, -1)
async def test_request_drlc_action(api): """Tests the request_drlc_action method.""" # Arrange device = DeviceEntity(api, device_id=DEVICE_ID) # Act/Assert assert await device.request_drlc_action( 1, 2, '1970-01-01T00:00:00Z', 10, 1) assert device.status.drlc_status is None assert await device.request_drlc_action( 1, 2, '1970-01-01T00:00:00Z', 10, 1, set_status=True) assert device.status.drlc_status == { "duration": 10, "drlcLevel": 2, "start": '1970-01-01T00:00:00Z', "override": False }
async def test_preset_position(api): """Tests the preset_position method.""" # Arrange device = DeviceEntity(api, device_id=DEVICE_ID) # Act/Assert assert await device.preset_position()
async def test_execute(api): """Tests the execute method.""" # Arrange device = DeviceEntity(api, device_id=DEVICE_ID) # Act/Assert assert await device.execute('Test', {'data': 'Test'})
async def test_execute(api): """Tests the execute method.""" # Arrange device = DeviceEntity(api, device_id=DEVICE_ID) # Act/Assert assert await device.execute("Test", {"data": "Test"})