feat: align with upstream 1.5.9.9

This commit is contained in:
2026-09-12 18:21:11 +08:00
commit 34f0679117
805 changed files with 376275 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
import assert from 'node:assert/strict'
import test from 'node:test'
import {
ARCHIVED_USER_STATUSES,
isArchivedStatus,
resolveArchivedFilter
} from '../../app/utils/user-archive.ts'
test('归档状态包含 graduate(限制访问-毕业生)与 withdrawn(限制访问-退学)', () => {
assert.deepEqual([...ARCHIVED_USER_STATUSES], ['graduate', 'withdrawn'])
})
test('isArchivedStatus 识别归档状态', () => {
assert.equal(isArchivedStatus('graduate'), true)
assert.equal(isArchivedStatus('withdrawn'), true)
assert.equal(isArchivedStatus('active'), false)
assert.equal(isArchivedStatus('pending'), false)
assert.equal(isArchivedStatus(null), false)
assert.equal(isArchivedStatus(undefined), false)
})
test('archived=1 解析为仅查已归档', () => {
assert.equal(resolveArchivedFilter('1'), 'archived')
assert.equal(resolveArchivedFilter('true'), 'archived')
})
test('archived=0 解析为排除已归档', () => {
assert.equal(resolveArchivedFilter('0'), 'unarchived')
assert.equal(resolveArchivedFilter('false'), 'unarchived')
})
test('缺省或未知值不限制归档', () => {
assert.equal(resolveArchivedFilter(undefined), 'all')
assert.equal(resolveArchivedFilter(''), 'all')
assert.equal(resolveArchivedFilter('yes'), 'all')
})
test('数组参数取首项解析', () => {
assert.equal(resolveArchivedFilter(['1']), 'archived')
assert.equal(resolveArchivedFilter(['0']), 'unarchived')
})