test(release-cleanup): 驗證相同 created_at 時的決定性排序

新增測試:多筆 created_at 相同時,以 id 大小決定保留/刪除順序。測試共 60 項全數通過。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jeffery
2026-06-26 11:43:16 +08:00
co-authored by Claude Opus 4.8
parent 9e33cb8ba8
commit 858e628db6
+15
View File
@@ -27,6 +27,21 @@ test('selectReleasesToDelete 在 keepCount 為 0 時刪除全部(由新到舊)',
)
})
test('selectReleasesToDelete 在 created_at 相同時以 id 決定順序(具決定性)', () => {
const same = '2024-01-01T00:00:00Z'
const list = [
{ id: 1, created_at: same },
{ id: 3, created_at: same },
{ id: 2, created_at: same },
]
const toDelete = selectReleasesToDelete(list, 1)
// 保留 id 最大者(3),刪除 id 2 與 1(順序固定)
assert.deepEqual(
toDelete.map((r) => r.id),
[2, 1],
)
})
test('selectReleasesToDelete 不改動原陣列', () => {
const original = [...releases]
selectReleasesToDelete(releases, 1)