diff --git a/tests/helpers/test_service.py b/tests/helpers/test_service.py
index 60fe87db9d2..3e7d8e6ef03 100644
--- a/tests/helpers/test_service.py
+++ b/tests/helpers/test_service.py
@@ -971,6 +971,83 @@ async def test_async_get_all_descriptions_dot_keys(hass: HomeAssistant) -> None:
     }
 
 
+async def test_async_get_all_descriptions_filter(hass: HomeAssistant) -> None:
+    """Test async_get_all_descriptions with filters."""
+    service_descriptions = """
+        test_service:
+          target:
+            entity:
+              domain: alarm_control_panel
+              supported_features:
+                - alarm_control_panel.AlarmControlPanelEntityFeature.ARM_HOME
+          fields:
+            temperature:
+              filter:
+                supported_features:
+                  - alarm_control_panel.AlarmControlPanelEntityFeature.ARM_HOME
+                attribute:
+                  supported_color_modes:
+                    - light.ColorMode.COLOR_TEMP
+              selector:
+                number:
+    """
+
+    domain = "test_domain"
+
+    hass.services.async_register(domain, "test_service", lambda call: None)
+    mock_integration(hass, MockModule(domain), top_level_files={"services.yaml"})
+    assert await async_setup_component(hass, domain, {})
+
+    def load_yaml(fname, secrets=None):
+        with io.StringIO(service_descriptions) as file:
+            return parse_yaml(file)
+
+    with (
+        patch(
+            "homeassistant.helpers.service._load_services_files",
+            side_effect=service._load_services_files,
+        ) as proxy_load_services_files,
+        patch(
+            "homeassistant.util.yaml.loader.load_yaml",
+            side_effect=load_yaml,
+        ) as mock_load_yaml,
+    ):
+        descriptions = await service.async_get_all_descriptions(hass)
+
+    mock_load_yaml.assert_called_once_with("services.yaml", None)
+    assert proxy_load_services_files.mock_calls[0][1][1] == unordered(
+        [
+            await async_get_integration(hass, domain),
+        ]
+    )
+
+    test_service_schema = {
+        "description": "",
+        "fields": {
+            "temperature": {
+                "filter": {
+                    "attribute": {"supported_color_modes": ["color_temp"]},
+                    "supported_features": [1],
+                },
+                "selector": {"number": None},
+            },
+        },
+        "name": "",
+        "target": {
+            "entity": [
+                {
+                    "domain": ["alarm_control_panel"],
+                    "supported_features": [1],
+                },
+            ],
+        },
+    }
+
+    assert descriptions == {
+        "test_domain": {"test_service": test_service_schema},
+    }
+
+
 async def test_async_get_all_descriptions_failing_integration(
     hass: HomeAssistant, caplog: pytest.LogCaptureFixture
 ) -> None: