feat(order-service): 重构分类资料收集与订单状态链路
This commit is contained in:
@@ -1,66 +0,0 @@
|
||||
import assert from 'node:assert/strict'
|
||||
import test from 'node:test'
|
||||
|
||||
import {
|
||||
buildCollectMaterialLinkUrl,
|
||||
isCollectMaterialLinkPath,
|
||||
normalizeOrderNoInput,
|
||||
resolveCollectMaterialLinkCode,
|
||||
} from '../src/utils/collect-link.ts'
|
||||
|
||||
test('补资料链接:/supplement/<订单号> 命中并解析 code', () => {
|
||||
assert.equal(isCollectMaterialLinkPath('/supplement/2630501851236676'), true)
|
||||
assert.equal(resolveCollectMaterialLinkCode('/supplement/2630501851236676'), '2630501851236676')
|
||||
})
|
||||
|
||||
test('补资料链接:入口页 /supplement 命中命名空间但没有 code', () => {
|
||||
assert.equal(isCollectMaterialLinkPath('/supplement'), true)
|
||||
assert.equal(isCollectMaterialLinkPath('/supplement/'), true)
|
||||
assert.equal(resolveCollectMaterialLinkCode('/supplement'), '')
|
||||
assert.equal(resolveCollectMaterialLinkCode('/supplement/'), '')
|
||||
})
|
||||
|
||||
test('补资料链接:容忍结尾斜杠、查询串与 hash', () => {
|
||||
assert.equal(resolveCollectMaterialLinkCode('/supplement/2630501851236676/'), '2630501851236676')
|
||||
assert.equal(
|
||||
resolveCollectMaterialLinkCode('/supplement/2630501851236676?from=chat'),
|
||||
'2630501851236676',
|
||||
)
|
||||
assert.equal(
|
||||
resolveCollectMaterialLinkCode('/supplement/2630501851236676#top'),
|
||||
'2630501851236676',
|
||||
)
|
||||
})
|
||||
|
||||
test('补资料链接:多段路径不解析 code', () => {
|
||||
assert.equal(resolveCollectMaterialLinkCode('/supplement/a/b'), '')
|
||||
})
|
||||
|
||||
test('补资料链接:其它路径不命中', () => {
|
||||
for (const pathname of ['/', '/claim/abc', '/collect', '/supplementx/abc', '']) {
|
||||
assert.equal(isCollectMaterialLinkPath(pathname), false, pathname)
|
||||
assert.equal(resolveCollectMaterialLinkCode(pathname), '', pathname)
|
||||
}
|
||||
})
|
||||
|
||||
test('补资料链接:URL 构建去掉 origin 结尾斜杠并编码', () => {
|
||||
assert.equal(
|
||||
buildCollectMaterialLinkUrl('https://ks.khhao.com/', '2630501851236676'),
|
||||
'https://ks.khhao.com/supplement/2630501851236676',
|
||||
)
|
||||
assert.equal(
|
||||
buildCollectMaterialLinkUrl('https://ks.khhao.com', 'abc/def'),
|
||||
'https://ks.khhao.com/supplement/abc%2Fdef',
|
||||
)
|
||||
assert.equal(buildCollectMaterialLinkUrl('', 'abc'), '')
|
||||
assert.equal(buildCollectMaterialLinkUrl('https://ks.khhao.com', ''), '')
|
||||
})
|
||||
|
||||
test('补资料入口:输入归一化支持订单号与完整链接', () => {
|
||||
assert.equal(normalizeOrderNoInput(' 2630501851236676 '), '2630501851236676')
|
||||
assert.equal(
|
||||
normalizeOrderNoInput('https://ks.khhao.com/supplement/2630501851236676?from=chat#top'),
|
||||
'2630501851236676',
|
||||
)
|
||||
assert.equal(normalizeOrderNoInput(''), '')
|
||||
})
|
||||
@@ -0,0 +1,36 @@
|
||||
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')
|
||||
})
|
||||
Reference in New Issue
Block a user