寄卖手动匹配改走内部现货并统一展示与超时口径

- 手动匹配不再指派供货打手:停在待加好友,清空截止时间与超时分钟
- 物品名模板去掉「0 璀璨」残留;寄卖单号无提报号时回退库存编号
- 状态列按寄卖库存显示内部匹配,打手列保留供货打手标签
- 超时配置增加启用开关,默认关闭(不限时)
- 补充前后端回归测试
This commit is contained in:
2026-11-14 13:15:41 +08:00
parent a0c7c90edf
commit 0dff00de97
20 changed files with 631 additions and 91 deletions
@@ -0,0 +1,67 @@
import assert from 'node:assert/strict'
import test from 'node:test'
import type { ConsignmentSpecField } from '../src/types/consignment.ts'
import { buildSpecItemName } from '../src/utils/consignment-spec.ts'
function makeSpec(
overrides: Partial<ConsignmentSpecField> & Pick<ConsignmentSpecField, 'key' | 'label'>,
): ConsignmentSpecField {
return {
type: 'text',
required: false,
options: [],
placeholder: '',
helpText: '',
matchMode: 'exact',
wildcardValues: [],
showInItemName: true,
sortOrder: 0,
...overrides,
}
}
const surnanSpecs = [
makeSpec({ key: 'system', label: '操作系统', sortOrder: 10 }),
makeSpec({ key: 'series', label: '系列', sortOrder: 20 }),
makeSpec({ key: 'diamondLevel', label: '钻石等级', type: 'number', sortOrder: 30 }),
makeSpec({ key: 'brillianceCount', label: '璀璨数', type: 'number', sortOrder: 40 }),
]
const surnanTemplate = '{system}{series}{diamondLevel}钻{brillianceCount}璀璨 苏尔南'
test('物品名模板:璀璨数为 0 时不残留「璀璨」单位', () => {
assert.equal(
buildSpecItemName(surnanTemplate, surnanSpecs, {
system: '安卓',
series: '怒嚎',
diamondLevel: '2',
brillianceCount: '0',
}),
'安卓怒嚎2钻 苏尔南',
)
})
test('物品名模板:璀璨数大于 0 时单位正常保留', () => {
assert.equal(
buildSpecItemName(surnanTemplate, surnanSpecs, {
system: '安卓',
series: '怒嚎',
diamondLevel: '2',
brillianceCount: '3',
}),
'安卓怒嚎2钻3璀璨 苏尔南',
)
})
test('物品名模板:钻级为空时「钻」也不会单独残留', () => {
assert.equal(
buildSpecItemName(surnanTemplate, surnanSpecs, {
system: '安卓',
series: '怒嚎',
diamondLevel: '',
brillianceCount: '0',
}),
'安卓怒嚎 苏尔南',
)
})