"""Tests for the Freedompro light.""" from homeassistant.components.light import ( ATTR_BRIGHTNESS, ATTR_HS_COLOR, DOMAIN as LIGHT_DOMAIN, SERVICE_TURN_ON, ) from homeassistant.const import ATTR_ENTITY_ID, SERVICE_TURN_OFF, STATE_OFF, STATE_ON from homeassistant.helpers import entity_registry as er async def test_light_get_state(hass, init_integration): """Test states of the light.""" init_integration registry = er.async_get(hass) entity_id = "light.lightbulb" state = hass.states.get(entity_id) assert state assert state.state == STATE_ON assert state.attributes.get("friendly_name") == "lightbulb" entry = registry.async_get(entity_id) assert entry assert ( entry.unique_id == "3WRRJR6RCZQZSND8VP0YTO3YXCSOFPKBMW8T51TU-LQ*JHJZIZ9ORJNHB7DZNBNAOSEDECVTTZ48SABTCA3WA3M" ) async def test_light_set_on(hass, init_integration): """Test set on of the light.""" init_integration registry = er.async_get(hass) entity_id = "light.lightbulb" state = hass.states.get(entity_id) assert state assert state.state == STATE_ON assert state.attributes.get("friendly_name") == "lightbulb" entry = registry.async_get(entity_id) assert entry assert ( entry.unique_id == "3WRRJR6RCZQZSND8VP0YTO3YXCSOFPKBMW8T51TU-LQ*JHJZIZ9ORJNHB7DZNBNAOSEDECVTTZ48SABTCA3WA3M" ) await hass.services.async_call( LIGHT_DOMAIN, SERVICE_TURN_ON, {ATTR_ENTITY_ID: [entity_id]}, blocking=True, ) state = hass.states.get(entity_id) assert state assert state.state == STATE_ON async def test_light_set_off(hass, init_integration): """Test set off of the light.""" init_integration registry = er.async_get(hass) entity_id = "light.bedroomlight" state = hass.states.get(entity_id) assert state assert state.state == STATE_OFF assert state.attributes.get("friendly_name") == "bedroomlight" entry = registry.async_get(entity_id) assert entry assert ( entry.unique_id == "3WRRJR6RCZQZSND8VP0YTO3YXCSOFPKBMW8T51TU-LQ*3-QURR5Q6ADA8ML1TBRG59RRGM1F9LVUZLKPYKFJQHC" ) await hass.services.async_call( LIGHT_DOMAIN, SERVICE_TURN_OFF, {ATTR_ENTITY_ID: [entity_id]}, blocking=True, ) state = hass.states.get(entity_id) assert state assert state.state == STATE_OFF async def test_light_set_brightness(hass, init_integration): """Test set brightness of the light.""" init_integration registry = er.async_get(hass) entity_id = "light.lightbulb" state = hass.states.get(entity_id) assert state assert state.state == STATE_ON assert state.attributes.get("friendly_name") == "lightbulb" entry = registry.async_get(entity_id) assert entry assert ( entry.unique_id == "3WRRJR6RCZQZSND8VP0YTO3YXCSOFPKBMW8T51TU-LQ*JHJZIZ9ORJNHB7DZNBNAOSEDECVTTZ48SABTCA3WA3M" ) await hass.services.async_call( LIGHT_DOMAIN, SERVICE_TURN_ON, {ATTR_ENTITY_ID: [entity_id], ATTR_BRIGHTNESS: 255}, blocking=True, ) state = hass.states.get(entity_id) assert state assert state.state == STATE_ON assert int(state.attributes[ATTR_BRIGHTNESS]) == 0 async def test_light_set_hue(hass, init_integration): """Test set brightness of the light.""" init_integration registry = er.async_get(hass) entity_id = "light.lightbulb" state = hass.states.get(entity_id) assert state assert state.state == STATE_ON assert state.attributes.get("friendly_name") == "lightbulb" entry = registry.async_get(entity_id) assert entry assert ( entry.unique_id == "3WRRJR6RCZQZSND8VP0YTO3YXCSOFPKBMW8T51TU-LQ*JHJZIZ9ORJNHB7DZNBNAOSEDECVTTZ48SABTCA3WA3M" ) await hass.services.async_call( LIGHT_DOMAIN, SERVICE_TURN_ON, { ATTR_ENTITY_ID: [entity_id], ATTR_BRIGHTNESS: 255, ATTR_HS_COLOR: (352.32, 100.0), }, blocking=True, ) state = hass.states.get(entity_id) assert state assert state.state == STATE_ON assert int(state.attributes[ATTR_BRIGHTNESS]) == 0 assert state.attributes[ATTR_HS_COLOR] == (0, 0)