Improve IssueRegistryItemSnapshot (#127949)

This commit is contained in:
Erik Montnemery 2024-10-09 10:57:04 +02:00 committed by GitHub
parent 6f45e376da
commit c22bbc5b91
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 35 additions and 1 deletions

View File

@ -5,21 +5,55 @@
'workday', 'workday',
'bad_date_holiday-1-2024_08_15', 'bad_date_holiday-1-2024_08_15',
): IssueRegistryItemSnapshot({ ): IssueRegistryItemSnapshot({
'active': True,
'breaks_in_ha_version': None,
'created': <ANY>, 'created': <ANY>,
'data': dict({
'country': 'DE',
'entry_id': '1',
'named_holiday': '2024-08-15',
}),
'dismissed_version': None, 'dismissed_version': None,
'domain': 'workday', 'domain': 'workday',
'is_fixable': True,
'is_persistent': False, 'is_persistent': False,
'issue_domain': None,
'issue_id': 'bad_date_holiday-1-2024_08_15', 'issue_id': 'bad_date_holiday-1-2024_08_15',
'learn_more_url': None,
'severity': <IssueSeverity.WARNING: 'warning'>,
'translation_key': 'bad_date_holiday',
'translation_placeholders': dict({
'country': 'DE',
'remove_holidays': '2024-08-15',
'title': 'Mock Title',
}),
}), }),
tuple( tuple(
'workday', 'workday',
'bad_date_holiday-1-2025_08_15', 'bad_date_holiday-1-2025_08_15',
): IssueRegistryItemSnapshot({ ): IssueRegistryItemSnapshot({
'active': True,
'breaks_in_ha_version': None,
'created': <ANY>, 'created': <ANY>,
'data': dict({
'country': 'DE',
'entry_id': '1',
'named_holiday': '2025-08-15',
}),
'dismissed_version': None, 'dismissed_version': None,
'domain': 'workday', 'domain': 'workday',
'is_fixable': True,
'is_persistent': False, 'is_persistent': False,
'issue_domain': None,
'issue_id': 'bad_date_holiday-1-2025_08_15', 'issue_id': 'bad_date_holiday-1-2025_08_15',
'learn_more_url': None,
'severity': <IssueSeverity.WARNING: 'warning'>,
'translation_key': 'bad_date_holiday',
'translation_placeholders': dict({
'country': 'DE',
'remove_holidays': '2025-08-15',
'title': 'Mock Title',
}),
}), }),
}) })
# --- # ---

View File

@ -197,7 +197,7 @@ class HomeAssistantSnapshotSerializer(AmberDataSerializer):
cls, data: ir.IssueEntry cls, data: ir.IssueEntry
) -> SerializableData: ) -> SerializableData:
"""Prepare a Home Assistant issue registry entry for serialization.""" """Prepare a Home Assistant issue registry entry for serialization."""
return IssueRegistryItemSnapshot(data.to_json() | {"created": ANY}) return IssueRegistryItemSnapshot(dataclasses.asdict(data) | {"created": ANY})
@classmethod @classmethod
def _serializable_state(cls, data: State) -> SerializableData: def _serializable_state(cls, data: State) -> SerializableData: