mirror of
https://github.com/home-assistant/core.git
synced 2025-04-23 16:57:53 +00:00
Add select selector for blueprints (#45803)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io> Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
This commit is contained in:
parent
2744d64a3e
commit
eaa2d371a7
@ -176,3 +176,12 @@ class StringSelector(Selector):
|
||||
"""Selector for a multi-line text string."""
|
||||
|
||||
CONFIG_SCHEMA = vol.Schema({vol.Optional("multiline", default=False): bool})
|
||||
|
||||
|
||||
@SELECTORS.register("select")
|
||||
class SelectSelector(Selector):
|
||||
"""Selector for an single-choice input select."""
|
||||
|
||||
CONFIG_SCHEMA = vol.Schema(
|
||||
{vol.Required("options"): vol.All([str], vol.Length(min=1))}
|
||||
)
|
||||
|
@ -187,3 +187,26 @@ def test_object_selector_schema(schema):
|
||||
def test_text_selector_schema(schema):
|
||||
"""Test text selector."""
|
||||
selector.validate_selector({"text": schema})
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"schema",
|
||||
({"options": ["red", "green", "blue"]},),
|
||||
)
|
||||
def test_select_selector_schema(schema):
|
||||
"""Test select selector."""
|
||||
selector.validate_selector({"select": schema})
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"schema",
|
||||
(
|
||||
{},
|
||||
{"options": {"hello": "World"}},
|
||||
{"options": []},
|
||||
),
|
||||
)
|
||||
def test_select_selector_schema_error(schema):
|
||||
"""Test select selector."""
|
||||
with pytest.raises(vol.Invalid):
|
||||
selector.validate_selector({"select": schema})
|
||||
|
Loading…
x
Reference in New Issue
Block a user