d->m: preserve unknown messages when syncing pins

This commit is contained in:
Cadence Ember
2025-05-29 11:57:34 +12:00
parent 2a6284968f
commit 8d4d505ab9
3 changed files with 67 additions and 5 deletions
+50 -1
View File
@@ -3,10 +3,59 @@ const data = require("../../../test/data")
const {pinsToList} = require("./pins-to-list")
test("pins2list: converts known IDs, ignores unknown IDs", t => {
const result = pinsToList(data.pins.faked)
const result = pinsToList(data.pins.faked, {})
t.deepEqual(result, [
"$lnAF9IosAECTnlv9p2e18FG8rHn-JgYKHEHIh5qdFv4",
"$mtR8cJqM4fKno1bVsm8F4wUVqSntt2sq6jav1lyavuA",
"$X16nfVks1wsrhq4E9SSLiqrf2N8KD0erD0scZG7U5xg"
])
})
test("pins2list: already pinned duplicate items are not moved", t => {
const result = pinsToList(data.pins.faked, {
"m.room.pinned_events/": {
pinned: [
"$mtR8cJqM4fKno1bVsm8F4wUVqSntt2sq6jav1lyavuA"
]
}
})
t.deepEqual(result, [
"$mtR8cJqM4fKno1bVsm8F4wUVqSntt2sq6jav1lyavuA",
"$lnAF9IosAECTnlv9p2e18FG8rHn-JgYKHEHIh5qdFv4",
"$X16nfVks1wsrhq4E9SSLiqrf2N8KD0erD0scZG7U5xg"
])
})
test("pins2list: already pinned unknown items are not moved", t => {
const result = pinsToList(data.pins.faked, {
"m.room.pinned_events/": {
pinned: [
"$unknown1",
"$mtR8cJqM4fKno1bVsm8F4wUVqSntt2sq6jav1lyavuA",
"$unknown2"
]
}
})
t.deepEqual(result, [
"$unknown1",
"$mtR8cJqM4fKno1bVsm8F4wUVqSntt2sq6jav1lyavuA",
"$unknown2",
"$lnAF9IosAECTnlv9p2e18FG8rHn-JgYKHEHIh5qdFv4",
"$X16nfVks1wsrhq4E9SSLiqrf2N8KD0erD0scZG7U5xg"
])
})
test("pins2list: bridged messages can be unpinned", t => {
const result = pinsToList(data.pins.faked.slice(0, -2), {
"m.room.pinned_events/": {
pinned: [
"$mtR8cJqM4fKno1bVsm8F4wUVqSntt2sq6jav1lyavuA",
"$lnAF9IosAECTnlv9p2e18FG8rHn-JgYKHEHIh5qdFv4"
]
}
})
t.deepEqual(result, [
"$mtR8cJqM4fKno1bVsm8F4wUVqSntt2sq6jav1lyavuA",
"$X16nfVks1wsrhq4E9SSLiqrf2N8KD0erD0scZG7U5xg",
])
})