From 738818aa7af7a26513b51bcf3b6c362c39afd8b1 Mon Sep 17 00:00:00 2001
From: Noah Husby <32528627+noahhusby@users.noreply.github.com>
Date: Mon, 16 Sep 2024 16:42:27 -0400
Subject: [PATCH] Add media player stop support to Cambridge Audio (#126066)

---
 homeassistant/components/cambridge_audio/media_player.py | 1 +
 tests/components/cambridge_audio/test_media_player.py    | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/homeassistant/components/cambridge_audio/media_player.py b/homeassistant/components/cambridge_audio/media_player.py
index c0287b9f8fa..1c490cd6ac9 100644
--- a/homeassistant/components/cambridge_audio/media_player.py
+++ b/homeassistant/components/cambridge_audio/media_player.py
@@ -45,6 +45,7 @@ TRANSPORT_FEATURES: dict[TransportControl, MediaPlayerEntityFeature] = {
     TransportControl.TOGGLE_REPEAT: MediaPlayerEntityFeature.REPEAT_SET,
     TransportControl.TOGGLE_SHUFFLE: MediaPlayerEntityFeature.SHUFFLE_SET,
     TransportControl.SEEK: MediaPlayerEntityFeature.SEEK,
+    TransportControl.STOP: MediaPlayerEntityFeature.STOP,
 }
 
 
diff --git a/tests/components/cambridge_audio/test_media_player.py b/tests/components/cambridge_audio/test_media_player.py
index b344c2faa2b..391cdd868ec 100644
--- a/tests/components/cambridge_audio/test_media_player.py
+++ b/tests/components/cambridge_audio/test_media_player.py
@@ -26,6 +26,7 @@ from homeassistant.const import (
     SERVICE_MEDIA_PLAY,
     SERVICE_MEDIA_PREVIOUS_TRACK,
     SERVICE_MEDIA_SEEK,
+    SERVICE_MEDIA_STOP,
     SERVICE_REPEAT_SET,
     SERVICE_SHUFFLE_SET,
     SERVICE_TURN_OFF,
@@ -181,6 +182,7 @@ async def test_media_play_pause_stop(
     mock_stream_magic_client.now_playing.controls = [
         TransportControl.PLAY,
         TransportControl.PAUSE,
+        TransportControl.STOP,
     ]
     await mock_state_update(mock_stream_magic_client)
     await hass.async_block_till_done()
@@ -191,6 +193,9 @@ async def test_media_play_pause_stop(
     await hass.services.async_call(MP_DOMAIN, SERVICE_MEDIA_PLAY, data, True)
     mock_stream_magic_client.play.assert_called_once()
 
+    await hass.services.async_call(MP_DOMAIN, SERVICE_MEDIA_STOP, data, True)
+    mock_stream_magic_client.stop.assert_called_once()
+
 
 async def test_media_next_previous_track(
     hass: HomeAssistant,
-- 
GitLab