From 23461d2cfd0ee3daebea2cf7ea21c7976b927cac Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Fri, 6 Dec 2024 20:26:50 +0100 Subject: [PATCH] Add tests for media player support_* properties (#132458) --- tests/components/media_player/test_init.py | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/tests/components/media_player/test_init.py b/tests/components/media_player/test_init.py index 47f0530f0ff..a45fa5b6668 100644 --- a/tests/components/media_player/test_init.py +++ b/tests/components/media_player/test_init.py @@ -97,6 +97,46 @@ def test_deprecated_constants_const( ) +@pytest.mark.parametrize( + "property_suffix", + [ + "play", + "pause", + "stop", + "seek", + "volume_set", + "volume_mute", + "previous_track", + "next_track", + "play_media", + "select_source", + "select_sound_mode", + "clear_playlist", + "shuffle_set", + "grouping", + ], +) +def test_support_properties(property_suffix: str) -> None: + """Test support_*** properties explicitly.""" + + all_features = media_player.MediaPlayerEntityFeature(653887) + feature = media_player.MediaPlayerEntityFeature[property_suffix.upper()] + + entity1 = MediaPlayerEntity() + entity1._attr_supported_features = media_player.MediaPlayerEntityFeature(0) + entity2 = MediaPlayerEntity() + entity2._attr_supported_features = all_features + entity3 = MediaPlayerEntity() + entity3._attr_supported_features = feature + entity4 = MediaPlayerEntity() + entity4._attr_supported_features = all_features - feature + + assert getattr(entity1, f"support_{property_suffix}") is False + assert getattr(entity2, f"support_{property_suffix}") is True + assert getattr(entity3, f"support_{property_suffix}") is True + assert getattr(entity4, f"support_{property_suffix}") is False + + async def test_get_image_http( hass: HomeAssistant, hass_client_no_auth: ClientSessionGenerator ) -> None: