fix(overseas): stabilize last-mile search tabs

This commit is contained in:
2026-09-07 11:01:00 +08:00
parent 657dd7c6f5
commit 33e72927f9
3 changed files with 56 additions and 2 deletions
@@ -37,6 +37,7 @@ import InboundOrdersView from '@/modules/overseas-warehouse/pages/InboundOrdersV
import InventoryView from '@/modules/overseas-warehouse/pages/InventoryView.vue'
import DispatchesView from '@/modules/overseas-warehouse/pages/DispatchesView.vue'
import RelabelOrdersView from '@/modules/overseas-warehouse/pages/RelabelOrdersView.vue'
import QueryToolbar from '@/shared/components/QueryToolbar.vue'
type Region = 'domestic' | 'overseas'
interface TraceStep { region: Region; method: string; path: string; params: unknown; body: unknown; httpStatus: number; code?: string; requestId?: string; traceId?: string; authorization: boolean }
@@ -238,13 +239,32 @@ async function mountPage(component: Parameters<typeof mount>[0], method: string,
await waitForTrace(method, path, start)
await nextTick()
expect(wrapper.text()).not.toContain('服务暂时不可用')
return wrapper
}
async function pageRequestCoverage() {
await mountPage(OverseasQuotesView, 'GET', '/platform/v1/last-leg/master-data/overseas-quotes')
await mountPage(PurchaseOrdersView, 'GET', '/platform/v1/last-leg/overseas-procurements')
await mountPage(TransportOrdersView, 'GET', '/platform/v1/last-leg/us-truck-orders', { domain: 'truck' })
await mountPage(TransportOrdersView, 'GET', '/platform/v1/last-leg/local-looseboard-orders', { domain: 'looseboard' })
await mountPage(LastMileOrdersView, 'GET', '/platform/v1/last-leg/orders')
const lastMile = await mountPage(LastMileOrdersView, 'GET', '/platform/v1/last-leg/orders')
const lastMileToolbar = lastMile.findComponent(QueryToolbar)
let start = traces.length
lastMileToolbar.vm.$emit('search', { orderNo: '', inboundCode: '', lxCode: `${marker}-NO-MATCH`, orderType: '', warehouse: '', sourceOrderNo: '', containerNo: '', transferWarehouseCode: '', status: '', abnormal: '', detained: '', createdAt: [] })
await waitForTrace('GET', '/platform/v1/last-leg/orders', start)
expect(traces.slice(start).some(item => item.path.startsWith('/platform/v1/last-leg/orders') && (item.params as Record<string, unknown> | undefined)?.lxCode === `${marker}-NO-MATCH`)).toBe(true)
start = traces.length
await lastMile.findAll('.el-radio-button').find(item => item.text() === '待分配')!.trigger('click')
await waitForTrace('GET', '/platform/v1/last-leg/orders', start)
start = traces.length
await lastMile.findAll('.el-radio-button').find(item => item.text().startsWith('柜子'))!.trigger('click')
await waitForTrace('GET', '/platform/v1/last-leg/orders/container-summaries', start)
start = traces.length
await lastMile.findAll('.el-radio-button').find(item => item.text() === '全部')!.trigger('click')
await waitForTrace('GET', '/platform/v1/last-leg/orders', start)
start = traces.length
lastMileToolbar.vm.$emit('reset', { orderNo: '', inboundCode: '', lxCode: '', orderType: '', warehouse: '', sourceOrderNo: '', containerNo: '', transferWarehouseCode: '', status: '', abnormal: '', detained: '', createdAt: [] })
await waitForTrace('GET', '/platform/v1/last-leg/orders', start)
expect(traces.slice(start).some(item => item.path.startsWith('/platform/v1/last-leg/orders') && !(item.params as Record<string, unknown> | undefined)?.lxCode)).toBe(true)
await mountPage(InboundOrdersView, 'GET', '/platform/v1/last-leg/inbound-plans')
await mountPage(InventoryView, 'GET', '/platform/v1/last-leg/inventory/balances')
await mountPage(DispatchesView, 'GET', '/platform/v1/last-leg/dispatches')