fix(booking): retain saved cargo values in numeric inputs
This commit is contained in:
@@ -341,9 +341,9 @@ describe('OceanBookingDetailView one-click release', () => {
|
||||
expect(declaredInput.attributes('disabled')).toBeDefined()
|
||||
expect(declaredInput.attributes('aria-disabled')).toBe('true')
|
||||
}
|
||||
vm.form.data.actualPackageCount = 480
|
||||
vm.form.data.actualGrossWeightKg = 14320.125
|
||||
vm.form.data.actualVolumeCbm = 65.321
|
||||
await wrapper.get('input[aria-label="实际件数"]').setValue('480')
|
||||
await wrapper.get('input[aria-label="实际毛重"]').setValue('14320.125')
|
||||
await wrapper.get('input[aria-label="实际体积"]').setValue('65.321')
|
||||
vm.actualReason = ' 实装后补录 '
|
||||
await flushPromises()
|
||||
expect(vm.printDisabledReason).toContain('请先保存')
|
||||
@@ -354,6 +354,29 @@ describe('OceanBookingDetailView one-click release', () => {
|
||||
expect(vm.actualReason).toBe('')
|
||||
expect(vm.hasUnsavedActualChanges).toBe(false)
|
||||
expect(vm.form.data.declaredPackageCount).toBe(500)
|
||||
expect((wrapper.get('input[aria-label="实际件数"]').element as HTMLInputElement).value).toBe('480')
|
||||
expect((wrapper.get('input[aria-label="实际毛重"]').element as HTMLInputElement).value).toBe('14320.125')
|
||||
expect((wrapper.get('input[aria-label="实际体积"]').element as HTMLInputElement).value).toBe('65.321')
|
||||
wrapper.unmount()
|
||||
})
|
||||
|
||||
it('shows the saved server values after input and blur without a change event', async () => {
|
||||
vi.mocked(getOceanBooking).mockResolvedValue(booking('RELEASED'))
|
||||
vi.mocked(updateOceanBookingActualCargo).mockResolvedValue({ ...booking('RELEASED', 4), actualPackageCount: 480, actualGrossWeightKg: 14320.125, actualVolumeCbm: 65.321 })
|
||||
const { vm, wrapper } = await mountView()
|
||||
for (const [label, value] of [['实际件数', '480'], ['实际毛重', '14320.125'], ['实际体积', '65.321']] as const) {
|
||||
const input = wrapper.get(`input[aria-label="${label}"]`)
|
||||
const element = input.element as HTMLInputElement
|
||||
element.value = value
|
||||
await input.trigger('input')
|
||||
await input.trigger('blur')
|
||||
}
|
||||
vm.actualReason = '补录'
|
||||
await vm.saveActualCargo()
|
||||
await flushPromises()
|
||||
for (const [label, value] of [['实际件数', '480'], ['实际毛重', '14320.125'], ['实际体积', '65.321']] as const) {
|
||||
expect((wrapper.get(`input[aria-label="${label}"]`).element as HTMLInputElement).value).toBe(value)
|
||||
}
|
||||
wrapper.unmount()
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user