37 lines
1.5 KiB
TypeScript
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')
|
|
})
|