This commit is contained in:
2026-10-09 17:36:32 +08:00
parent 7a9e91b7ce
commit 3df3f874db
25 changed files with 431 additions and 12 deletions
@@ -67,6 +67,32 @@ describe('overseas business mounted pages', () => {
})
it.each(['查看路线'])('opens the shared route map from looseboard %s without requerying orders', async label => {
const wrapper = mountPage(TransportOrdersView, { domain: 'looseboard' })
await flushPromises()
expect(wrapper.findComponent({ name: 'TransportRouteDialog' }).props('modelValue')).toBe(false)
const requests = vi.mocked(listLocalLooseboardOrders).mock.calls.length
await wrapper.findAll('button').find(button => button.text() === label)!.trigger('click')
await flushPromises()
expect(wrapper.findComponent({ name: 'TransportRouteDialog' }).props('modelValue')).toBe(true)
expect(document.body.textContent).toContain('LA → ONT')
expect(listLocalLooseboardOrders).toHaveBeenCalledTimes(requests)
})
it.each([false, true])('opens truck route map on create/edit without saving (%s)', async editing => {
if (editing) { routing.route.params = { orderId: truck.id }; routing.route.query = { customerId: truck.customerId } }
const wrapper = mountPage(TransportOrderFormView, { domain: 'truck' })
await flushPromises()
await wrapper.findAll('button').find(button => button.text() === '查看路线')!.trigger('click')
await flushPromises()
expect(wrapper.findComponent({ name: 'TransportRouteDialog' }).props('modelValue')).toBe(true)
expect(createUsTruckOrder).not.toHaveBeenCalled()
expect(updateUsTruckOrder).not.toHaveBeenCalled()
const dialog = wrapper.findComponent({ name: 'TransportRouteDialog' })
expect(dialog.props('origin')).toEqual({ kind: 'address', label: editing ? 'Long Beach' : '', address: editing ? 'Long Beach Pier A' : '' })
expect(dialog.props('destinations')).toEqual([{ kind: 'address', label: editing ? 'Ontario' : '', address: editing ? 'Ontario Warehouse B' : '' }])
})
it('opens the associated commercial order using a server-side order number filter', async () => {
routing.route.query = { orderNo: 'LB-LINKED' }
const wrapper = mount(TransportOrdersView, { props: { domain: 'looseboard' }, global: { plugins: [ElementPlus] } })