33 lines
1.0 KiB
TypeScript
33 lines
1.0 KiB
TypeScript
import assert from 'node:assert/strict'
|
|
import test from 'node:test'
|
|
|
|
import {
|
|
SHARE_CANCEL_REASON_LABELS,
|
|
formatSharingShareCancelledReason,
|
|
} from '../src/utils/worker-share-cancel-reason.ts'
|
|
|
|
test('拼单取消来源:已知枚举值都必须有中文标签', () => {
|
|
for (const reason of [
|
|
'timeout',
|
|
'admin',
|
|
'admin_partial',
|
|
'worker_request',
|
|
'problem',
|
|
'settlement',
|
|
]) {
|
|
const label = formatSharingShareCancelledReason(reason)
|
|
assert.notEqual(label, reason, `${reason} 缺少中文映射`)
|
|
assert.equal(label, SHARE_CANCEL_REASON_LABELS[reason])
|
|
assert.ok(label.trim().length > 0)
|
|
}
|
|
})
|
|
|
|
test('拼单取消来源:取消部分必须映射为后台取消部分', () => {
|
|
assert.equal(formatSharingShareCancelledReason('admin_partial'), '后台取消部分')
|
|
})
|
|
|
|
test('拼单取消来源:未知值保留原始值,便于排查', () => {
|
|
assert.equal(formatSharingShareCancelledReason('some_new_reason'), 'some_new_reason')
|
|
assert.equal(formatSharingShareCancelledReason(''), '')
|
|
})
|