74 lines
2.0 KiB
TypeScript
74 lines
2.0 KiB
TypeScript
import assert from 'node:assert/strict'
|
|
import test from 'node:test'
|
|
|
|
import {
|
|
resolveConsignmentWorkerDisplay,
|
|
resolveConsignmentScreenshotUrls,
|
|
} 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')
|
|
})
|
|
|
|
test('寄售截图兼容字符串 URL 与 UploadedFile 对象', () => {
|
|
assert.deepEqual(
|
|
resolveConsignmentScreenshotUrls([
|
|
'/api/v1/files/object?key=consignment_screenshot%2Fa.webp',
|
|
{ url: '/api/v1/files/object?key=consignment_screenshot%2Fb.webp' },
|
|
{ objectKey: 'x', url: '' },
|
|
12,
|
|
]),
|
|
[
|
|
'/api/v1/files/object?key=consignment_screenshot%2Fa.webp',
|
|
'/api/v1/files/object?key=consignment_screenshot%2Fb.webp',
|
|
],
|
|
)
|
|
})
|