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