Files
order_site/apps/frontend/tests/consignment-worker-display.test.ts
T

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