Increase platform abstraction cohesion

This commit is contained in:
2026-03-06 17:47:58 +00:00
parent 438e561da0
commit 8c091b1e6d
55 changed files with 6555 additions and 440 deletions

View File

@@ -124,3 +124,66 @@ class ReactionNormalizationTests(TestCase):
self.assertEqual("❤️", serialized["text"])
self.assertEqual([], list(serialized.get("reactions") or []))
self.assertEqual(str(anchor.id), serialized["reply_to_id"])
def test_apply_message_edit_tracks_history_and_updates_text(self):
message = Message.objects.create(
user=self.user,
session=self.session,
ts=1700000004000,
sender_uuid="author-3",
text="before",
source_service="signal",
source_message_id="1700000004000",
)
updated = async_to_sync(history.apply_message_edit)(
self.user,
self.identifier,
target_ts=1700000004000,
new_text="after",
source_service="signal",
actor="+15550000000",
payload={"origin": "test"},
)
self.assertIsNotNone(updated)
message.refresh_from_db()
self.assertEqual("after", str(message.text or ""))
edit_history = list((message.receipt_payload or {}).get("edit_history") or [])
self.assertEqual(1, len(edit_history))
self.assertEqual("before", str(edit_history[0].get("previous_text") or ""))
self.assertEqual("after", str(edit_history[0].get("new_text") or ""))
def test_serialize_message_marks_deleted_and_preserves_edit_history(self):
message = Message.objects.create(
user=self.user,
session=self.session,
ts=1700000005000,
sender_uuid="author-4",
text="keep me",
source_service="signal",
source_message_id="1700000005000",
receipt_payload={
"edit_history": [
{
"edited_ts": 1700000005100,
"source_service": "signal",
"actor": "+15550000000",
"previous_text": "old",
"new_text": "keep me",
}
],
"is_deleted": True,
"deleted": {
"deleted_ts": 1700000005200,
"source_service": "signal",
"actor": "+15550000000",
},
},
)
serialized = _serialize_message(message)
self.assertTrue(bool(serialized.get("is_deleted")))
self.assertEqual("(message deleted)", str(serialized.get("display_text") or ""))
self.assertEqual(1, int(serialized.get("edit_count") or 0))
self.assertEqual(1, len(list(serialized.get("edit_history") or [])))