refactor(release-cleanup): 將清理邏輯由 bash 改寫為 Node.js #5
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user