fix: preserve required inputs and refine operations screens
This commit is contained in:
@@ -60,6 +60,7 @@ describe('dispatch workflow native layout', () => {
|
||||
const fields = dialog.findComponent(DispatchResourceFields)
|
||||
const selected = { ...resources().driver, mode: 'MASTER' as const, driverId: '22', evidence: { ...resources().driver.evidence!, fileIds: [], photoFileIds: [], masterLicenseFileId: '33' } }
|
||||
fields.vm.$emit('update:driver', selected); await flushPromises()
|
||||
expect(dialog.text()).toContain('预计任务结束')
|
||||
const license = () => dialog.findAllComponents(DispatchEvidenceFiles).find(item => item.props('kind') === 'DRIVER')!
|
||||
expect(license().find('img').attributes('alt')).toBe('驾驶证照片:驾驶证照片')
|
||||
expect(downloadDriverLicense).toHaveBeenCalledExactlyOnceWith('22', '33')
|
||||
@@ -70,6 +71,17 @@ describe('dispatch workflow native layout', () => {
|
||||
expect(license().find('img').exists()).toBe(false)
|
||||
expect(license().text()).toContain('暂无照片')
|
||||
})
|
||||
it('saves the entered task end for a master driver in the maintenance command', async () => {
|
||||
const saved = resources()
|
||||
saved.driver = { ...saved.driver, mode: 'MASTER', driverId: '22', evidence: { ...saved.driver.evidence!, expectedTaskEndAt: null } }
|
||||
const { dialog } = await render('EDIT', undefined, false, { vehicleInfo: saved })
|
||||
field(dialog, '预计任务结束').getComponent({ name: 'ElDatePicker' }).vm.$emit('update:modelValue', '2030-01-01T17:00:00Z')
|
||||
await flushPromises()
|
||||
dialog.vm.$emit('confirm'); await flushPromises()
|
||||
expect(api.updateDispatch).toHaveBeenCalledWith('PC/1', expect.objectContaining({
|
||||
driver: expect.objectContaining({ mode: 'MASTER', driverId: '22', evidence: expect.objectContaining({ expectedTaskEndAt: '2030-01-01T17:00:00Z' }) }),
|
||||
}))
|
||||
})
|
||||
it('reads an already frozen master license through the dispatch permission without a new driver directory request', async () => {
|
||||
const saved = resources()
|
||||
saved.driver = { ...saved.driver, mode: 'MASTER', driverId: '22', evidence: { ...saved.driver.evidence!, fileIds: ['33'], masterLicenseFileId: '33' } }
|
||||
@@ -151,7 +163,7 @@ describe('dispatch workflow native layout', () => {
|
||||
const { dialog } = await render('EDIT', undefined, false, { dispatchInfo: { ...source.dispatchInfo,
|
||||
departedAt: '2026-07-01T15:00:00Z', plannedDepartureAt: '2026-07-01T16:00:00Z', estimatedArrivalAt: '2026-07-01T17:00:00Z',
|
||||
} })
|
||||
expect(field(dialog, '发车时间').get('[aria-label="发车时间时区换算"]').text()).toBe('美东2026-07-01 11:00:00美西2026-07-01 08:00:00')
|
||||
expect(dialog.find('[aria-label="发车时间时区换算"]').exists()).toBe(false)
|
||||
expect(field(dialog, '计划发车时间').get('[aria-label="计划发车时间时区换算"]').text()).toBe('美东2026-07-01 12:00:00美西2026-07-01 09:00:00')
|
||||
expect(field(dialog, '预计到达时间').get('[aria-label="预计到达时间时区换算"]').text()).toBe('美东2026-07-01 13:00:00美西2026-07-01 10:00:00')
|
||||
expect(field(dialog, '预计任务结束').get('[aria-label="预计任务结束时区换算"]').text()).toBe('美东2026-11-01 05:00:00美西2026-11-01 02:00:00')
|
||||
@@ -178,7 +190,8 @@ describe('dispatch workflow native layout', () => {
|
||||
for (const [label, value] of [['派送方式', '外配'], ['提货方式', '一提多卸'], ['装车类型', '混装'], ['车辆类型', '厢式货车']]) field(dialog, label!).getComponent({ name: 'ElSelect' }).vm.$emit('update:modelValue', value)
|
||||
await field(dialog, '车队邮箱').get('input').setValue(' fleet@example.test ')
|
||||
await field(dialog, '预约账号').get('input').setValue(' fleet-account ')
|
||||
expect(field(dialog, '发车时间').get('input').attributes('readonly')).toBeDefined()
|
||||
expect(field(dialog, '发车时间')).toBeUndefined()
|
||||
expect(field(dialog, '排车单号').get('input').attributes('readonly')).toBeDefined()
|
||||
expect(dialog.find('textarea[aria-label="本次操作备注"]').exists()).toBe(false)
|
||||
await dialog.get('button[aria-label="展开全屏"]').trigger('click'); await flushPromises()
|
||||
dialog.vm.$emit('confirm'); await flushPromises()
|
||||
|
||||
Reference in New Issue
Block a user