import { getFormilyData, getFormilyKeys } from './utils'; import { FormilyData } from './interface'; import { v4 } from 'uuid'; describe('getFormilyData', () => { const inputId = v4(); const textAreaId = v4(); const radioId = v4(); const optionsId1 = v4(); const optionsId2 = v4(); const template: FormilyData[] = [ { id: inputId, name: '单行输入', type: 'inputs', required: 1 }, { id: textAreaId, name: '多行输入', type: 'multiInputs', required: 1 }, { id: radioId, name: '单选', type: 'selects', options: [ { id: optionsId1, name: '选择1' }, { id: optionsId2, name: '选择2' } ], required: 1 } ]; const result = [ { id: inputId, name: '单行输入', type: 'inputs', required: 1, value: '单行输入测试' }, { id: textAreaId, name: '多行输入', type: 'multiInputs', required: 1, value: '多行输入测试' }, { id: radioId, name: '单选', type: 'selects', options: [ { id: optionsId1, name: '选择1' }, { id: optionsId2, name: '选择2' } ], required: 1, value: optionsId1 } ]; const obj = { [`${inputId}`]: '单行输入测试', [`${textAreaId}`]: '多行输入测试', [`${radioId}`]: optionsId1 }; it('正常使用', () => { expect(getFormilyData(obj, template)).toEqual(result); }); }); describe('getFormilyData', () => { const ID1 = v4(); const ID2 = v4(); it('只有Formily表单项', () => { expect(getFormilyKeys({ [`${ID1}`]: 1, [`${ID2}`]: 2 })).toEqual([ID1, ID2]); }); it('Formily表单项和其他表单项', () => { expect(getFormilyKeys({ [`${ID1}`]: 1, a: 3 })).toEqual([ID1]); }); it('只有其他表单项', () => { expect(getFormilyKeys({ a: 3, b: 4 })).toEqual([]); }); });