fix: preserve required inputs and refine operations screens
This commit is contained in:
@@ -32,9 +32,9 @@ it('names the missing material and supplements the canonical booking inside the
|
||||
const wrapper = render(); await flushPromises()
|
||||
expect(resolvePlanningOrder).toHaveBeenCalledWith(lookup)
|
||||
expect(wrapper.text()).toContain('IN-TEST'); expect(wrapper.text()).toContain('缺少本票 FBA 货件号或追踪号')
|
||||
expect(wrapper.text()).toContain('不能代替货件号'); expect(wrapper.text()).not.toContain(source.orderId)
|
||||
expect(wrapper.text()).not.toContain(source.orderId)
|
||||
await wrapper.findAll('button').find(button => button.text() === '在此补齐资料')!.trigger('click'); await flushPromises()
|
||||
expect((wrapper.get('input[type=number]').element as HTMLInputElement).value).toBe('20')
|
||||
expect(wrapper.find('input[type=number]').exists()).toBe(false)
|
||||
await wrapper.get('form').trigger('submit'); await flushPromises()
|
||||
expect(saveCargoVerification).not.toHaveBeenCalled()
|
||||
await wrapper.get('textarea[aria-label="本票货件号"]').setValue('FBA-TEST')
|
||||
@@ -44,6 +44,22 @@ it('names the missing material and supplements the canonical booking inside the
|
||||
expect(wrapper.text()).toContain('资料齐全,无需重复填写')
|
||||
expect(wrapper.emitted('ready')?.at(-1)).toEqual([true]); wrapper.unmount()
|
||||
})
|
||||
it('allows missing or changed quantities to be verified before saving shipment references', async () => {
|
||||
for (const cargo of [
|
||||
{ ...context, effectivePackages: null },
|
||||
{ ...context, sourceChanged: true },
|
||||
]) {
|
||||
vi.mocked(getCargoVerification).mockResolvedValue(cargo)
|
||||
vi.mocked(saveCargoVerification).mockClear()
|
||||
const wrapper = render(); await flushPromises()
|
||||
await wrapper.findAll('button').find(button => button.text() === '在此补齐资料')!.trigger('click'); await flushPromises()
|
||||
await wrapper.get('input[type=number]').setValue('20')
|
||||
await wrapper.get('textarea[aria-label="本票货件号"]').setValue('FBA-TEST')
|
||||
await wrapper.get('form').trigger('submit'); await flushPromises()
|
||||
expect(saveCargoVerification).toHaveBeenCalledWith(source, expect.objectContaining({ packageCount: 20, shipmentReferences: ['FBA-TEST'] }))
|
||||
wrapper.unmount()
|
||||
}
|
||||
})
|
||||
it('leaves pending arrangements lazy and reads only when formal confirmation is selected', async () => {
|
||||
const wrapper = render(false); await flushPromises()
|
||||
expect(resolvePlanningOrder).not.toHaveBeenCalled()
|
||||
|
||||
Reference in New Issue
Block a user