test: align phase five dev acceptance flows
This commit is contained in:
@@ -18,6 +18,7 @@ function nullableText(value) { return value == null || typeof value === 'string'
|
||||
function nullableIso(value) { return value == null || (typeof value === 'string' && !Number.isNaN(Date.parse(value))) }
|
||||
function validLongId(value) { return typeof value === 'string' && /^\d{16,}$/.test(value) }
|
||||
function validNumericId(value) { return typeof value === 'string' && /^\d+$/.test(value) && value !== '0' }
|
||||
function validOperatorId(value) { return value === '0' || validNumericId(value) }
|
||||
function validContainerNo(value) {
|
||||
if (typeof value !== 'string' || !ISO_CONTAINER_PATTERN.test(value)) return false
|
||||
const letterValues = [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24,
|
||||
@@ -88,7 +89,7 @@ function validHistory(item) {
|
||||
return validLongId(item?.id) && Boolean(item?.action)
|
||||
&& (item?.fromVersion == null || number(item.fromVersion))
|
||||
&& (item?.toVersion == null || number(item.toVersion))
|
||||
&& nullableText(item?.reason) && (item?.operatorId == null || validNumericId(item.operatorId))
|
||||
&& nullableText(item?.reason) && (item?.operatorId == null || validOperatorId(item.operatorId))
|
||||
&& nullableText(item?.operatorName) && nullableIso(item?.createdAt)
|
||||
}
|
||||
|
||||
@@ -156,7 +157,7 @@ export async function runUntilPickupReady(context) {
|
||||
const queryId = id(owned.queryId)
|
||||
const detailResponse = await context.request('GET', `${BASE}/${encodeURIComponent(queryId)}`)
|
||||
let detail = context.apiSuccess(MODULE, '查询本轮marker-owned船节点详情', detailResponse, `queryId=${queryId}`, OPTIONS)
|
||||
assertDetail(context, detailResponse, detail, '详情返回Task、十节点DTO、异常与历史结构')
|
||||
assertDetail(context, detailResponse, detail, '详情返回Task、已记录节点、异常与历史结构')
|
||||
const initialTask = detail?.query?.query
|
||||
const ownershipMatches = id(initialTask?.id) === queryId && initialTask?.trackingNo === owned.trackingNo
|
||||
&& id(initialTask?.oceanBookingId) === id(owned.oceanBookingId)
|
||||
|
||||
Reference in New Issue
Block a user