1. 新增 resolveConsignmentWorkerDisplay 工具函数,自动解析工单寄售现货与资料字段(供货打手、游戏角色昵称、游戏ID及联系方式); 2. 优化 renderWorkOrderWorkers 渲染逻辑:当工单为内部寄售现货履约时,打手列带「供货打手」或「内部现货」专属角标,主标题展示打手名/角色名,副标题拼接游戏ID与联系方式,解决原先显示为破折号 - 的问题; 3. 新增 consignment-worker-display 单元测试,更新寄卖库存优化现状与进度追踪文档,前端 57 个测试全绿并通过类型检查。
56 lines
1.5 KiB
TypeScript
56 lines
1.5 KiB
TypeScript
import assert from 'node:assert/strict'
|
|
import test from 'node:test'
|
|
|
|
import { resolveConsignmentWorkerDisplay } from '../src/utils/consignment-display.ts'
|
|
|
|
test('普通工单无寄售信息时 resolveConsignmentWorkerDisplay 返回 null', () => {
|
|
const order = {
|
|
material: {},
|
|
} as never
|
|
assert.equal(resolveConsignmentWorkerDisplay(order), null)
|
|
})
|
|
|
|
test('寄售工单有供货打手时优先展示供货打手与角色ID', () => {
|
|
const order = {
|
|
material: {
|
|
consignment: {
|
|
workerName: '01邀请的',
|
|
buyerName: '客服',
|
|
sellerGameId: '草莓酱板鸭 (1234551)',
|
|
sellerPhone: '16677778888',
|
|
},
|
|
},
|
|
gift: {
|
|
boosterMaterial: {
|
|
fields: {
|
|
gameNickname: '客服',
|
|
gameId: '草莓酱板鸭 (1234551)',
|
|
},
|
|
},
|
|
},
|
|
} as never
|
|
|
|
const result = resolveConsignmentWorkerDisplay(order)
|
|
assert.ok(result)
|
|
assert.equal(result.tagText, '供货打手')
|
|
assert.equal(result.primaryName, '01邀请的')
|
|
assert.equal(result.secondaryInfo, '客服 · ID:草莓酱板鸭 (1234551)')
|
|
})
|
|
|
|
test('寄售工单无供货打手名时回退展示角色昵称与现货标签', () => {
|
|
const order = {
|
|
material: {
|
|
consignment: {
|
|
buyerName: '客服角色',
|
|
sellerGameId: '1234551',
|
|
},
|
|
},
|
|
} as never
|
|
|
|
const result = resolveConsignmentWorkerDisplay(order)
|
|
assert.ok(result)
|
|
assert.equal(result.tagText, '内部现货')
|
|
assert.equal(result.primaryName, '客服角色')
|
|
assert.equal(result.secondaryInfo, 'ID:1234551')
|
|
})
|