mirror of
https://github.com/home-assistant/core.git
synced 2025-12-25 05:26:47 +00:00
Consolidate more platforms (#22308)
* Consolidate final platforms * Fix some tests * Fix more tests * Fix more tests
This commit is contained in:
79
tests/components/demo/test_light.py
Normal file
79
tests/components/demo/test_light.py
Normal file
@@ -0,0 +1,79 @@
|
||||
"""The tests for the demo light component."""
|
||||
import pytest
|
||||
|
||||
from homeassistant.setup import async_setup_component
|
||||
from homeassistant.components import light
|
||||
|
||||
from tests.components.light import common
|
||||
|
||||
ENTITY_LIGHT = 'light.bed_light'
|
||||
|
||||
|
||||
@pytest.fixture(autouse=True)
|
||||
def setup_comp(hass):
|
||||
"""Set up demo component."""
|
||||
hass.loop.run_until_complete(async_setup_component(hass, light.DOMAIN, {
|
||||
'light': {
|
||||
'platform': 'demo',
|
||||
}}))
|
||||
|
||||
|
||||
async def test_state_attributes(hass):
|
||||
"""Test light state attributes."""
|
||||
common.async_turn_on(
|
||||
hass, ENTITY_LIGHT, xy_color=(.4, .4), brightness=25)
|
||||
await hass.async_block_till_done()
|
||||
state = hass.states.get(ENTITY_LIGHT)
|
||||
assert light.is_on(hass, ENTITY_LIGHT)
|
||||
assert (0.4, 0.4) == state.attributes.get(light.ATTR_XY_COLOR)
|
||||
assert 25 == state.attributes.get(light.ATTR_BRIGHTNESS)
|
||||
assert (255, 234, 164) == state.attributes.get(light.ATTR_RGB_COLOR)
|
||||
assert 'rainbow' == state.attributes.get(light.ATTR_EFFECT)
|
||||
common.async_turn_on(
|
||||
hass, ENTITY_LIGHT, rgb_color=(251, 253, 255),
|
||||
white_value=254)
|
||||
await hass.async_block_till_done()
|
||||
state = hass.states.get(ENTITY_LIGHT)
|
||||
assert 254 == state.attributes.get(light.ATTR_WHITE_VALUE)
|
||||
assert (250, 252, 255) == state.attributes.get(light.ATTR_RGB_COLOR)
|
||||
assert (0.319, 0.326) == state.attributes.get(light.ATTR_XY_COLOR)
|
||||
common.async_turn_on(hass, ENTITY_LIGHT, color_temp=400, effect='none')
|
||||
await hass.async_block_till_done()
|
||||
state = hass.states.get(ENTITY_LIGHT)
|
||||
assert 400 == state.attributes.get(light.ATTR_COLOR_TEMP)
|
||||
assert 153 == state.attributes.get(light.ATTR_MIN_MIREDS)
|
||||
assert 500 == state.attributes.get(light.ATTR_MAX_MIREDS)
|
||||
assert 'none' == state.attributes.get(light.ATTR_EFFECT)
|
||||
common.async_turn_on(hass, ENTITY_LIGHT, kelvin=3000, brightness_pct=50)
|
||||
await hass.async_block_till_done()
|
||||
state = hass.states.get(ENTITY_LIGHT)
|
||||
assert 333 == state.attributes.get(light.ATTR_COLOR_TEMP)
|
||||
assert 127 == state.attributes.get(light.ATTR_BRIGHTNESS)
|
||||
|
||||
|
||||
async def test_turn_off(hass):
|
||||
"""Test light turn off method."""
|
||||
await hass.services.async_call('light', 'turn_on', {
|
||||
'entity_id': ENTITY_LIGHT
|
||||
}, blocking=True)
|
||||
|
||||
assert light.is_on(hass, ENTITY_LIGHT)
|
||||
|
||||
await hass.services.async_call('light', 'turn_off', {
|
||||
'entity_id': ENTITY_LIGHT
|
||||
}, blocking=True)
|
||||
|
||||
assert not light.is_on(hass, ENTITY_LIGHT)
|
||||
|
||||
|
||||
async def test_turn_off_without_entity_id(hass):
|
||||
"""Test light turn off all lights."""
|
||||
await hass.services.async_call('light', 'turn_on', {
|
||||
}, blocking=True)
|
||||
|
||||
assert light.is_on(hass, ENTITY_LIGHT)
|
||||
|
||||
await hass.services.async_call('light', 'turn_off', {
|
||||
}, blocking=True)
|
||||
|
||||
assert not light.is_on(hass, ENTITY_LIGHT)
|
||||
Reference in New Issue
Block a user