Files
order_site/apps/frontend/tests/order-service-link.test.ts
T

37 lines
1.5 KiB
TypeScript

import assert from 'node:assert/strict'
import test from 'node:test'
import {
buildOrderServiceUrl,
isLegacySupplementPath,
isOrderServicePath,
normalizeOrderServiceInput,
resolveLegacySupplementOrderNo,
resolveOrderServiceOrderNo,
} from '../src/utils/order-service-link.ts'
test('订单服务路径:/o 与 /o/:orderNo', () => {
assert.equal(isOrderServicePath('/o'), true)
assert.equal(isOrderServicePath('/o/2630501851236676'), true)
assert.equal(isOrderServicePath('/order/2630501851236676'), false)
assert.equal(resolveOrderServiceOrderNo('/o/2630501851236676'), '2630501851236676')
assert.equal(resolveOrderServiceOrderNo('/o/2630501851236676/'), '2630501851236676')
})
test('旧 /supplement 只用于兼容跳转', () => {
assert.equal(isLegacySupplementPath('/supplement'), true)
assert.equal(isLegacySupplementPath('/supplement/2630501851236676'), true)
assert.equal(resolveLegacySupplementOrderNo('/supplement/2630501851236676'), '2630501851236676')
assert.equal(resolveLegacySupplementOrderNo('/supplement/a/b'), '')
})
test('订单服务链接构建与输入归一化', () => {
assert.equal(
buildOrderServiceUrl('https://ks.khhao.com/', '2630501851236676'),
'https://ks.khhao.com/o/2630501851236676',
)
assert.equal(buildOrderServiceUrl('', 'abc'), '')
assert.equal(normalizeOrderServiceInput(' https://ks.khhao.com/o/abc?from=chat '), 'abc')
assert.equal(normalizeOrderServiceInput('https://ks.khhao.com/supplement/abc'), 'abc')
})