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:
co-authored by
Claude Opus 4.8
parent
9e33cb8ba8
commit
858e628db6
@@ -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 不改動原陣列', () => {
|
test('selectReleasesToDelete 不改動原陣列', () => {
|
||||||
const original = [...releases]
|
const original = [...releases]
|
||||||
selectReleasesToDelete(releases, 1)
|
selectReleasesToDelete(releases, 1)
|
||||||
|
|||||||
Reference in New Issue
Block a user