import { generatorEnums, addEnumTail, codeSplitTransfer, GeneratorEnumsOptions } from './enum'; import { checkFolderWithoutRemove, writeEnums, writePermissions } from './files' jest.mock('./files', () => { return { _isEsModule: true, checkFolderWithoutRemove: jest.fn(), writePermissions: jest.fn(), writeEnums: jest.fn() } }) test('ArrayEnumsCase: will create an enums array', () => { const formatter = jest.fn().mockImplementation(item => ({ label: item.name, value: item.value + '1', })) const ArrayEnumsCase: GeneratorEnumsOptions = { enums: { CheckPeriod: [ { label: '年度考核', value: 'year' }, { label: '季度考核', value: 'quarter' } ], Permissions: { VIEW: 'view', EDIT: 'edit' }, CheckPeriodNumber: { 1: '年度考核', 2: '季度考核' }, }, permissionKey: 'Permissions', formatter, } const {enumsArray,permissions } = generatorEnums(ArrayEnumsCase) expect( enumsArray ).toHaveLength(1); expect(permissions).toHaveLength(2) expect( enumsArray[0] ).toHaveProperty('name'); expect( enumsArray[0] ).toHaveProperty('enums'); expect(formatter).toBeCalled() }) test('addEnumTail will add Enum string tail', () => { expect(addEnumTail('CheckPeriodEnum')).toBe('CheckPeriodEnum'); expect(addEnumTail('CheckPeriod')).toBe('CheckPeriodEnum'); }); test('code split format', () => { expect(codeSplitTransfer('my:center:like')).toBe('my_center_like'); });