Files
order_site/apps/frontend/tests/worker-share-cancel-reason.test.ts
T

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(''), '')
})