mirror of
https://github.com/home-assistant/core.git
synced 2025-11-09 19:09:32 +00:00
Support asking covers to stop using google assistant (#43537)
This commit is contained in:
@@ -384,6 +384,51 @@ async def test_startstop_vacuum(hass):
|
||||
assert unpause_calls[0].data == {ATTR_ENTITY_ID: "vacuum.bla"}
|
||||
|
||||
|
||||
async def test_startstop_covert(hass):
|
||||
"""Test startStop trait support for vacuum domain."""
|
||||
assert helpers.get_google_type(cover.DOMAIN, None) is not None
|
||||
assert trait.StartStopTrait.supported(cover.DOMAIN, cover.SUPPORT_STOP, None)
|
||||
|
||||
state = State(
|
||||
"cover.bla",
|
||||
cover.STATE_CLOSED,
|
||||
{ATTR_SUPPORTED_FEATURES: cover.SUPPORT_STOP},
|
||||
)
|
||||
|
||||
trt = trait.StartStopTrait(
|
||||
hass,
|
||||
state,
|
||||
BASIC_CONFIG,
|
||||
)
|
||||
|
||||
assert trt.sync_attributes() == {}
|
||||
|
||||
for state_value in (cover.STATE_CLOSING, cover.STATE_OPENING):
|
||||
state.state = state_value
|
||||
assert trt.query_attributes() == {"isRunning": True}
|
||||
|
||||
stop_calls = async_mock_service(hass, cover.DOMAIN, cover.SERVICE_STOP_COVER)
|
||||
await trt.execute(trait.COMMAND_STARTSTOP, BASIC_DATA, {"start": False}, {})
|
||||
assert len(stop_calls) == 1
|
||||
assert stop_calls[0].data == {ATTR_ENTITY_ID: "cover.bla"}
|
||||
|
||||
for state_value in (cover.STATE_CLOSED, cover.STATE_OPEN):
|
||||
state.state = state_value
|
||||
assert trt.query_attributes() == {"isRunning": False}
|
||||
|
||||
with pytest.raises(SmartHomeError, match="Cover is already stopped"):
|
||||
await trt.execute(trait.COMMAND_STARTSTOP, BASIC_DATA, {"start": False}, {})
|
||||
|
||||
with pytest.raises(SmartHomeError, match="Starting a cover is not supported"):
|
||||
await trt.execute(trait.COMMAND_STARTSTOP, BASIC_DATA, {"start": True}, {})
|
||||
|
||||
with pytest.raises(
|
||||
SmartHomeError,
|
||||
match="Command action.devices.commands.PauseUnpause is not supported",
|
||||
):
|
||||
await trt.execute(trait.COMMAND_PAUSEUNPAUSE, BASIC_DATA, {"start": True}, {})
|
||||
|
||||
|
||||
async def test_color_setting_color_light(hass):
|
||||
"""Test ColorSpectrum trait support for light domain."""
|
||||
assert helpers.get_google_type(light.DOMAIN, None) is not None
|
||||
|
||||
Reference in New Issue
Block a user