修复容器测试并补订单回归

This commit is contained in:
yml2213
2026-08-21 12:29:19 +08:00
parent 993ddcd034
commit e6ab139071
6 changed files with 77 additions and 10 deletions
@@ -10,6 +10,7 @@ import type {
WorkerUserRow,
} from '../../repositories/worker-platform/index.js'
import {
buildWorkOrderWhere,
resolveWorkOrderShareCancellationStatus,
resolveWorkOrderShareJoinQuantity,
resolveOpenSharingSyncReward,
@@ -36,6 +37,7 @@ import {
resolveSkuNameQuantity,
resolveWorkOrderRulePricing,
resolveWorkOrderTemplateSyncPrice,
resolveWorkerShareStatus,
resolveWorkOrderSharingEnabled,
validateWorkerPassword,
} from './index.js'
@@ -817,6 +819,29 @@ test('mapWorkOrderForWorker 使用个人拼单份数、金额、状态和接单
assert.equal(mapped.assignedAt, '2026-08-18T09:09:08.000Z')
})
test('打手拼单状态以个人份额为准,母工单终态优先', () => {
assert.equal(resolveWorkerShareStatus('open', 'joined'), 'in_progress')
assert.equal(resolveWorkerShareStatus('open', 'submitted'), 'pending_acceptance')
assert.equal(resolveWorkerShareStatus('open', 'accepted'), 'accepted')
assert.equal(resolveWorkerShareStatus('open', 'cancelled'), 'cancelled')
assert.equal(resolveWorkerShareStatus('problem', 'joined'), 'problem')
})
test('打手订单状态筛选使用个人拼单份额状态', () => {
const { joins, whereClause, params } = buildWorkOrderWhere({
workerSharingId: 42,
statuses: ['in_progress', 'pending_acceptance'],
})
assert.deepEqual(params, [42, ['in_progress', 'pending_acceptance']])
assert.match(joins, /work_order_shares share_source/)
assert.match(joins, /worker_share\.worker_id = \$1/)
assert.match(whereClause, /WHEN 'joined' THEN 'in_progress'/)
assert.match(whereClause, /WHEN 'submitted' THEN 'pending_acceptance'/)
assert.match(whereClause, /worker_share\.status/)
assert.match(whereClause, /= ANY\(\$2::text\[\]\)/)
})
test('后台拼单聚合状态同时收敛筛选语义和操作能力', () => {
const waitingForClaim = mapWorkOrderAdmin(buildWorkOrderRow({ status: 'open' }))
assert.equal(waitingForClaim.status, 'open')