From b41aa2ceb380b01d74262fa7fc5c47348bf6f115 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Thu, 25 May 2023 21:58:35 +0200 Subject: [PATCH] Add snapshot testing support --- tests/syrupy.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tests/syrupy.py b/tests/syrupy.py index af34cb628f..f0342cc1f1 100644 --- a/tests/syrupy.py +++ b/tests/syrupy.py @@ -28,6 +28,7 @@ from homeassistant.helpers import ( area_registry as ar, device_registry as dr, entity_registry as er, + folder_registry as fr, issue_registry as ir, ) @@ -64,6 +65,10 @@ class FlowResultSnapshot(dict): """Tiny wrapper to represent a flow result in snapshots.""" +class FolderRegistryEntrySnapshot(dict): + """Tiny wrapper to represent an folder registry entry in snapshots.""" + + class IssueRegistryItemSnapshot(dict): """Tiny wrapper to represent an entity registry entry in snapshots.""" @@ -101,6 +106,8 @@ class HomeAssistantSnapshotSerializer(AmberDataSerializer): serializable_data = cls._serializable_device_registry_entry(data) elif isinstance(data, er.RegistryEntry): serializable_data = cls._serializable_entity_registry_entry(data) + elif isinstance(data, fr.FolderEntry): + serializable_data = cls._serializable_issue_registry_entry(data) elif isinstance(data, ir.IssueEntry): serializable_data = cls._serializable_issue_registry_entry(data) elif isinstance(data, dict) and "flow_id" in data and "handler" in data: @@ -182,6 +189,13 @@ class HomeAssistantSnapshotSerializer(AmberDataSerializer): """Prepare a Home Assistant flow result for serialization.""" return FlowResultSnapshot(data | {"flow_id": ANY}) + @classmethod + def _serializable_folder_registry_entry( + cls, data: fr.FolderEntry + ) -> SerializableData: + """Prepare a Home Assistant folder registry entry for serialization.""" + return FolderRegistryEntrySnapshot(dataclasses.asdict(data)) + @classmethod def _serializable_issue_registry_entry( cls, data: ir.IssueEntry