Add additional service to set advanced Hue scene options (#63035)

This commit is contained in:
Marcel van der Veldt 2022-01-05 06:39:08 +01:00 committed by GitHub
parent 40e77e2af0
commit f999266c9a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 133 additions and 9 deletions

View file

@ -87,6 +87,43 @@ async def test_scene_turn_on_service(hass, mock_bridge_v2, v2_resources_test_dat
}
async def test_scene_advanced_turn_on_service(
hass, mock_bridge_v2, v2_resources_test_data
):
"""Test calling the advanced turn on service on a scene."""
await mock_bridge_v2.api.load_test_data(v2_resources_test_data)
await setup_platform(hass, mock_bridge_v2, "scene")
test_entity_id = "scene.test_room_regular_test_scene"
# call the hue.activate_scene service
await hass.services.async_call(
"hue",
"activate_scene",
{"entity_id": test_entity_id},
blocking=True,
)
# PUT request should have been sent to device with correct params
assert len(mock_bridge_v2.mock_requests) == 1
assert mock_bridge_v2.mock_requests[0]["method"] == "put"
assert mock_bridge_v2.mock_requests[0]["json"]["recall"] == {"action": "active"}
# test again with sending speed and dynamic
await hass.services.async_call(
"hue",
"activate_scene",
{"entity_id": test_entity_id, "speed": 80, "dynamic": True},
blocking=True,
)
assert len(mock_bridge_v2.mock_requests) == 3
assert mock_bridge_v2.mock_requests[1]["json"]["speed"] == 0.8
assert mock_bridge_v2.mock_requests[2]["json"]["recall"] == {
"action": "dynamic_palette",
}
async def test_scene_updates(hass, mock_bridge_v2, v2_resources_test_data):
"""Test scene events from bridge."""
await mock_bridge_v2.api.load_test_data(v2_resources_test_data)