mirror of
https://github.com/home-assistant/core.git
synced 2025-07-17 18:27:09 +00:00
Allow custom_serializer to recognize cv.string and cv.boolean to make config schema more reusable (#41532)
This commit is contained in:
parent
852d1b2e67
commit
d3734aae9d
@ -828,6 +828,12 @@ def custom_serializer(schema: Any) -> Any:
|
|||||||
if schema is positive_time_period_dict:
|
if schema is positive_time_period_dict:
|
||||||
return {"type": "positive_time_period_dict"}
|
return {"type": "positive_time_period_dict"}
|
||||||
|
|
||||||
|
if schema is string:
|
||||||
|
return {"type": "string"}
|
||||||
|
|
||||||
|
if schema is boolean:
|
||||||
|
return {"type": "boolean"}
|
||||||
|
|
||||||
if isinstance(schema, multi_select):
|
if isinstance(schema, multi_select):
|
||||||
return {"type": "multi_select", "options": schema.options}
|
return {"type": "multi_select", "options": schema.options}
|
||||||
|
|
||||||
|
@ -571,6 +571,27 @@ def test_multi_select_in_serializer():
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def test_boolean_in_serializer():
|
||||||
|
"""Test boolean with custom_serializer."""
|
||||||
|
assert cv.custom_serializer(cv.boolean) == {
|
||||||
|
"type": "boolean",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def test_string_in_serializer():
|
||||||
|
"""Test string with custom_serializer."""
|
||||||
|
assert cv.custom_serializer(cv.string) == {
|
||||||
|
"type": "string",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def test_positive_time_period_dict_in_serializer():
|
||||||
|
"""Test positive_time_period_dict with custom_serializer."""
|
||||||
|
assert cv.custom_serializer(cv.positive_time_period_dict) == {
|
||||||
|
"type": "positive_time_period_dict",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def schema():
|
def schema():
|
||||||
"""Create a schema used for testing deprecation."""
|
"""Create a schema used for testing deprecation."""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user