feat(lastleg): expose commercial source and booking references
This commit is contained in:
@@ -186,6 +186,19 @@ async function chooseContainer(wrapper: Awaited<ReturnType<typeof mountView>>) {
|
||||
}
|
||||
|
||||
describe('LastMileOrdersView pending order and container conversion', () => {
|
||||
it('shows commercial source alongside fulfillment type and sends source filters to the server', async () => {
|
||||
vi.mocked(listLastMileOrders).mockResolvedValue({ records: [{ id: '1', customerId: 'A', orderNo: 'WT-1', orderType: 'WAREHOUSE_TRANSFER', businessSource: { businessType: 'LOCAL_LOOSEBOARD', label: '本土散板 · 拼车需求池', businessOrderNo: 'LB-1', externalBookingNo: 'FB-1' } }], page: 1, size: 10, total: 1, pages: 1 })
|
||||
const wrapper = await mountView()
|
||||
const table = wrapper.findComponent(DataTable)
|
||||
expect(table.props('data')[0]).toMatchObject({ businessSource: '本土散板 · 拼车需求池', businessOrderNo: 'LB-1', externalBookingNo: 'FB-1', orderType: '仓储转运', orderTypeCode: 'WAREHOUSE_TRANSFER' })
|
||||
const toolbar = wrapper.findComponent(QueryToolbar)
|
||||
toolbar.vm.$emit('search', { ...toolbar.props('modelValue'), businessType: 'LOCAL_LOOSEBOARD', businessOrderNo: ' LB-1 ', externalBookingNo: ' FB-1 ' })
|
||||
await flushPromises()
|
||||
expect(listLastMileOrders).toHaveBeenLastCalledWith(expect.objectContaining({ businessType: 'LOCAL_LOOSEBOARD', businessOrderNo: 'LB-1', externalBookingNo: 'FB-1' }))
|
||||
toolbar.vm.$emit('reset'); await flushPromises()
|
||||
expect(listLastMileOrders).toHaveBeenLastCalledWith(expect.objectContaining({ businessType: undefined, businessOrderNo: undefined, externalBookingNo: undefined }))
|
||||
})
|
||||
|
||||
it('supports keyboard status switching and keeps selection and queries in sync', async () => {
|
||||
const wrapper = await mountView()
|
||||
const tabs = wrapper.findAll('[role="tab"]')
|
||||
@@ -240,7 +253,7 @@ describe('LastMileOrdersView pending order and container conversion', () => {
|
||||
expect(toolbar.props('fields').map((field) => field.key)).toEqual(['orderNo', 'inboundCode', 'warehouse'])
|
||||
const initialCalls = vi.mocked(listLastMileOrders).mock.calls.length
|
||||
await button(wrapper, '高级筛选')!.trigger('click')
|
||||
expect(toolbar.props('fields')).toHaveLength(13)
|
||||
expect(toolbar.props('fields')).toHaveLength(16)
|
||||
toolbar.vm.$emit('update:modelValue', {
|
||||
...toolbar.props('modelValue'), containerNo: ' CONT-15 ', abnormal: 'false',
|
||||
createdAt: ['2026-09-01', '2026-09-30'],
|
||||
@@ -497,7 +510,7 @@ describe('LastMileOrdersView pending order and container conversion', () => {
|
||||
})
|
||||
expect(availableFields.filter((field) => ['orderType', 'status', 'abnormal', 'detained'].includes(field.key)))
|
||||
.toEqual(expect.arrayContaining([
|
||||
expect.objectContaining({ key: 'orderType', placeholder: '请选择订单类型' }),
|
||||
expect.objectContaining({ key: 'orderType', placeholder: '请选择履约类型' }),
|
||||
expect.objectContaining({ key: 'status', placeholder: '请选择当前状态' }),
|
||||
expect.objectContaining({ key: 'abnormal', placeholder: '请选择是否异常' }),
|
||||
expect.objectContaining({ key: 'detained', placeholder: '请选择是否暂扣' }),
|
||||
|
||||
Reference in New Issue
Block a user