mirror of
https://github.com/home-assistant/core.git
synced 2025-08-01 09:38:21 +00:00
play item tests
This commit is contained in:
parent
dd547000d5
commit
75ae985b39
@ -762,10 +762,10 @@ class SqueezeBoxMediaPlayerEntity(
|
|||||||
|
|
||||||
query_result = await self._player.async_query(*_param)
|
query_result = await self._player.async_query(*_param)
|
||||||
|
|
||||||
if query_result["count"] == 0:
|
if int(query_result["count"]) == 0:
|
||||||
raise ServiceValidationError("Search returned zero results")
|
raise ServiceValidationError("Search returned zero results")
|
||||||
|
|
||||||
if query_result["count"] > 1:
|
if int(query_result["count"]) > 1:
|
||||||
raise ServiceValidationError(
|
raise ServiceValidationError(
|
||||||
f"Search returned {query_result['count']} results. Each search must return only one result"
|
f"Search returned {query_result['count']} results. Each search must return only one result"
|
||||||
)
|
)
|
||||||
|
@ -42,10 +42,13 @@ from homeassistant.components.squeezebox.const import (
|
|||||||
)
|
)
|
||||||
from homeassistant.components.squeezebox.media_player import (
|
from homeassistant.components.squeezebox.media_player import (
|
||||||
ATTR_PARAMETERS,
|
ATTR_PARAMETERS,
|
||||||
|
ATTR_PLAYLIST_ACTION,
|
||||||
ATTR_RETURN_ITEMS,
|
ATTR_RETURN_ITEMS,
|
||||||
ATTR_SEARCH_STRING,
|
ATTR_SEARCH_STRING,
|
||||||
|
ATTR_SEARCH_TYPE,
|
||||||
SERVICE_CALL_METHOD,
|
SERVICE_CALL_METHOD,
|
||||||
SERVICE_CALL_QUERY,
|
SERVICE_CALL_QUERY,
|
||||||
|
SERVICE_PLAY,
|
||||||
SERVICE_SEARCH,
|
SERVICE_SEARCH,
|
||||||
)
|
)
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
@ -779,10 +782,98 @@ async def test_squeezebox_call_method(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_squeezebox_play_album(
|
async def test_squeezebox_play_other_item(
|
||||||
hass: HomeAssistant, configured_player: MagicMock
|
hass: HomeAssistant, configured_player: MagicMock
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test query service call."""
|
"""Test query service call."""
|
||||||
|
await hass.services.async_call(
|
||||||
|
DOMAIN,
|
||||||
|
SERVICE_PLAY,
|
||||||
|
{
|
||||||
|
ATTR_ENTITY_ID: "media_player.test_player",
|
||||||
|
ATTR_COMMAND: "album",
|
||||||
|
ATTR_SEARCH_TYPE: "item",
|
||||||
|
ATTR_SEARCH_STRING: FAKE_VALID_ITEM_ID,
|
||||||
|
ATTR_PLAYLIST_ACTION: "play",
|
||||||
|
},
|
||||||
|
blocking=True,
|
||||||
|
)
|
||||||
|
assert configured_player.async_load_playlist.call_count == 1
|
||||||
|
|
||||||
|
await hass.services.async_call(
|
||||||
|
DOMAIN,
|
||||||
|
SERVICE_PLAY,
|
||||||
|
{
|
||||||
|
ATTR_ENTITY_ID: "media_player.test_player",
|
||||||
|
ATTR_COMMAND: "album",
|
||||||
|
ATTR_SEARCH_TYPE: "item",
|
||||||
|
ATTR_SEARCH_STRING: FAKE_VALID_ITEM_ID,
|
||||||
|
ATTR_PLAYLIST_ACTION: "add",
|
||||||
|
},
|
||||||
|
blocking=True,
|
||||||
|
)
|
||||||
|
assert configured_player.async_load_playlist.call_count == 2
|
||||||
|
|
||||||
|
await hass.services.async_call(
|
||||||
|
DOMAIN,
|
||||||
|
SERVICE_PLAY,
|
||||||
|
{
|
||||||
|
ATTR_ENTITY_ID: "media_player.test_player",
|
||||||
|
ATTR_COMMAND: "album",
|
||||||
|
ATTR_SEARCH_TYPE: "item",
|
||||||
|
ATTR_SEARCH_STRING: FAKE_VALID_ITEM_ID,
|
||||||
|
ATTR_PLAYLIST_ACTION: "next",
|
||||||
|
},
|
||||||
|
blocking=True,
|
||||||
|
)
|
||||||
|
assert configured_player.async_load_playlist.call_count == 3
|
||||||
|
|
||||||
|
|
||||||
|
async def test_squeezebox_play_favorite_item(
|
||||||
|
hass: HomeAssistant, configured_player: MagicMock
|
||||||
|
) -> None:
|
||||||
|
"""Test query service call."""
|
||||||
|
await hass.services.async_call(
|
||||||
|
DOMAIN,
|
||||||
|
SERVICE_PLAY,
|
||||||
|
{
|
||||||
|
ATTR_ENTITY_ID: "media_player.test_player",
|
||||||
|
ATTR_COMMAND: "favorite",
|
||||||
|
ATTR_SEARCH_TYPE: "item",
|
||||||
|
ATTR_SEARCH_STRING: FAKE_VALID_ITEM_ID,
|
||||||
|
ATTR_PLAYLIST_ACTION: "play",
|
||||||
|
},
|
||||||
|
blocking=True,
|
||||||
|
)
|
||||||
|
assert configured_player.async_load_playlist.call_count == 1
|
||||||
|
|
||||||
|
await hass.services.async_call(
|
||||||
|
DOMAIN,
|
||||||
|
SERVICE_PLAY,
|
||||||
|
{
|
||||||
|
ATTR_ENTITY_ID: "media_player.test_player",
|
||||||
|
ATTR_COMMAND: "favorite",
|
||||||
|
ATTR_SEARCH_TYPE: "item",
|
||||||
|
ATTR_SEARCH_STRING: FAKE_VALID_ITEM_ID,
|
||||||
|
ATTR_PLAYLIST_ACTION: "add",
|
||||||
|
},
|
||||||
|
blocking=True,
|
||||||
|
)
|
||||||
|
assert configured_player.async_load_playlist.call_count == 2
|
||||||
|
|
||||||
|
await hass.services.async_call(
|
||||||
|
DOMAIN,
|
||||||
|
SERVICE_PLAY,
|
||||||
|
{
|
||||||
|
ATTR_ENTITY_ID: "media_player.test_player",
|
||||||
|
ATTR_COMMAND: "favorite",
|
||||||
|
ATTR_SEARCH_TYPE: "item",
|
||||||
|
ATTR_SEARCH_STRING: FAKE_VALID_ITEM_ID,
|
||||||
|
ATTR_PLAYLIST_ACTION: "next",
|
||||||
|
},
|
||||||
|
blocking=True,
|
||||||
|
)
|
||||||
|
assert configured_player.async_load_playlist.call_count == 3
|
||||||
|
|
||||||
|
|
||||||
async def test_squeezebox_search_albums(
|
async def test_squeezebox_search_albums(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user