import { describe, expect, it } from 'vitest' import classComponents from '../../../../components/form/classComponents' import { InputConfig } from '../../../../components/form/input' import { SelectConfig } from '../../../../components/form/select' import { DatePickerConfig } from '../../../../components/form/datePicker' import { DynamicConfig } from '../../../../components/form/dynamic' import { AddFormConfig } from '../../../../components/form/addForm' import { UploadConfig } from '../../../../components/form/upload' import { VueCronConfig } from '../../../../components/form/VueCron' import { InfoCronConfig } from '../../../../components/form/infoCron' import { ddConfig } from '../../../../components/infoDropdown' describe('components/form/classComponents', () => { it('映射到对应的配置类', () => { expect(classComponents.infoInput).toBe(InputConfig) expect(classComponents.infoSelect).toBe(SelectConfig) expect(classComponents.infoDatePicker).toBe(DatePickerConfig) expect(classComponents.infoDynamic).toBe(DynamicConfig) expect(classComponents.infoAddForm).toBe(AddFormConfig) expect(classComponents.infoUpload).toBe(UploadConfig) expect(classComponents.infoVueCron).toBe(VueCronConfig) expect(classComponents.infoCron).toBe(InfoCronConfig) expect(classComponents.infoDropdown).toBe(ddConfig) }) it('text 类型复用 InputConfig', () => { expect(classComponents.text).toBe(InputConfig) }) it('infoCron 映射构造后保持与映射键一致的 type', () => { const instance = new classComponents.infoCron({ model: 'cron', label: 'Cron' }) expect(instance).toBeInstanceOf(InfoCronConfig) expect(instance.type).toBe('infoCron') }) })