优化
This commit is contained in:
@@ -58,13 +58,14 @@ describe('OutboundDispatchesView', () => {
|
||||
const wrapper = mountPage()
|
||||
await flushPromises()
|
||||
expect(listOutboundDispatches).not.toHaveBeenCalled()
|
||||
expect(wrapper.text()).toContain('请选择订单 / 入库单或柜次后查询')
|
||||
expect(wrapper.text()).toContain('请选择入仓码或柜次后查询')
|
||||
const toolbar = await setFilters(wrapper, { orderId: '20001' })
|
||||
toolbar.vm.$emit('search')
|
||||
await flushPromises()
|
||||
expect(listOutboundDispatches).toHaveBeenCalledOnce()
|
||||
expect(listOutboundDispatches).toHaveBeenCalledWith({ orderId: '20001', inboundId: '30001', containerBookingId: undefined })
|
||||
expect(wrapper.text()).toContain('ORD-001')
|
||||
expect(wrapper.text()).toContain('IN-001')
|
||||
expect(wrapper.text()).not.toContain('ORD-001')
|
||||
expect(wrapper.text()).toContain('已放舱')
|
||||
expect(wrapper.text()).toContain('已完成')
|
||||
expect(wrapper.text()).toContain('待复核')
|
||||
@@ -92,7 +93,7 @@ describe('OutboundDispatchesView', () => {
|
||||
await resetButton?.trigger('click')
|
||||
await flushPromises()
|
||||
expect(listOutboundDispatches).toHaveBeenCalledOnce()
|
||||
expect(wrapper.text()).toContain('请选择订单 / 入库单或柜次后查询')
|
||||
expect(wrapper.text()).toContain('请选择入仓码或柜次后查询')
|
||||
})
|
||||
|
||||
it('shows loading, empty and recoverable error states', async () => {
|
||||
@@ -116,7 +117,8 @@ describe('OutboundDispatchesView', () => {
|
||||
await retry?.trigger('click')
|
||||
await flushPromises()
|
||||
expect(listOutboundDispatches).toHaveBeenCalledTimes(3)
|
||||
expect(wrapper.text()).toContain('ORD-001')
|
||||
expect(wrapper.text()).toContain('IN-001')
|
||||
expect(wrapper.text()).not.toContain('ORD-001')
|
||||
})
|
||||
|
||||
it('ignores stale list responses when a newer query wins', async () => {
|
||||
@@ -133,14 +135,16 @@ describe('OutboundDispatchesView', () => {
|
||||
await flushPromises()
|
||||
first.resolve([row])
|
||||
await flushPromises()
|
||||
expect(wrapper.text()).toContain('ORD-002')
|
||||
expect(wrapper.text()).not.toContain('ORD-001')
|
||||
expect(wrapper.text()).toContain('IN-002')
|
||||
expect(wrapper.text()).not.toContain('IN-001')
|
||||
expect(wrapper.text()).not.toContain('ORD-002')
|
||||
})
|
||||
|
||||
it('keeps the operation column first and guarded workflow actions', () => {
|
||||
const source = readFileSync(resolve(process.cwd(), 'src/modules/outbound-dispatch/pages/OutboundDispatchesView.vue'), 'utf8')
|
||||
const columnSource = source.slice(source.indexOf('const columns'))
|
||||
expect(columnSource.indexOf("key: 'actions'")).toBeLessThan(columnSource.indexOf("prop: 'orderNo'"))
|
||||
expect(columnSource.indexOf("key: 'actions'")).toBeLessThan(columnSource.indexOf("prop: 'inboundCode'"))
|
||||
expect(columnSource).not.toContain("prop: 'orderNo'")
|
||||
expect(columnSource).toContain("fixed: 'left'")
|
||||
expect(source).toContain('aggregate.gate?.items')
|
||||
expect(source).toContain('detail.timeline')
|
||||
|
||||
Reference in New Issue
Block a user