修复容器测试并补订单回归
This commit is contained in:
@@ -8,7 +8,7 @@ import { ENV_OVERRIDES } from './env-overrides.js'
|
||||
|
||||
const CURRENT_DIR = path.dirname(fileURLToPath(import.meta.url))
|
||||
const BACKEND_ROOT = path.resolve(CURRENT_DIR, '../..')
|
||||
const WORKSPACE_ROOT = path.resolve(BACKEND_ROOT, '../..')
|
||||
const WORKSPACE_ROOT = process.env.WORKSPACE_ROOT || path.resolve(BACKEND_ROOT, '../..')
|
||||
|
||||
const SPECIAL_RUNTIME_ENV_NAMES = ['APP_BASE_URL', 'CLAIM_BASE_URL']
|
||||
|
||||
@@ -31,6 +31,7 @@ const DEPLOYMENT_ONLY_ENV_NAMES = [
|
||||
'VITE_API_TARGET',
|
||||
'VITE_ALLOWED_HOSTS',
|
||||
'VITE_WORKER_SITE_URL',
|
||||
'WORKSPACE_ROOT',
|
||||
'WORKER_SITE_ADDR',
|
||||
]
|
||||
|
||||
|
||||
@@ -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')
|
||||
|
||||
Reference in New Issue
Block a user