mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2025-12-12 03:01:16 +00:00
86 lines
1.9 KiB
TypeScript
86 lines
1.9 KiB
TypeScript
import '../fixtures/window';
|
|
import { isValidPreferenceKey, filterValidOptions } from '../../src/plugin/plugin-utils';
|
|
|
|
describe('plugin utils 测试', () => {
|
|
it('isValidPreferenceKey', () => {
|
|
expect(isValidPreferenceKey('x')).toBeFalsy();
|
|
expect(isValidPreferenceKey('x', { properties: {} })).toBeFalsy();
|
|
expect(isValidPreferenceKey('x', { properties: 1 })).toBeFalsy();
|
|
expect(isValidPreferenceKey('x', { properties: 'str' })).toBeFalsy();
|
|
expect(isValidPreferenceKey('x', { properties: [] })).toBeFalsy();
|
|
expect(
|
|
isValidPreferenceKey('x', {
|
|
title: 'title',
|
|
properties: [
|
|
{
|
|
key: 'y',
|
|
type: 'string',
|
|
description: 'x desc',
|
|
},
|
|
],
|
|
}),
|
|
).toBeFalsy();
|
|
expect(
|
|
isValidPreferenceKey('x', {
|
|
title: 'title',
|
|
properties: [
|
|
{
|
|
key: 'x',
|
|
type: 'string',
|
|
description: 'x desc',
|
|
},
|
|
],
|
|
}),
|
|
).toBeTruthy();
|
|
});
|
|
|
|
it('filterValidOptions', () => {
|
|
const mockDeclaration = {
|
|
title: 'title',
|
|
properties: [
|
|
{
|
|
key: 'x',
|
|
type: 'string',
|
|
description: 'x desc',
|
|
},
|
|
{
|
|
key: 'y',
|
|
type: 'string',
|
|
description: 'y desc',
|
|
},
|
|
{
|
|
key: 'z',
|
|
type: 'string',
|
|
description: 'z desc',
|
|
},
|
|
],
|
|
};
|
|
|
|
expect(filterValidOptions()).toBeUndefined();
|
|
expect(filterValidOptions(1)).toBe(1);
|
|
expect(filterValidOptions({
|
|
x: 1,
|
|
y: 2,
|
|
}, mockDeclaration)).toEqual({
|
|
x: 1,
|
|
y: 2,
|
|
});
|
|
expect(filterValidOptions({
|
|
x: 1,
|
|
y: undefined,
|
|
}, mockDeclaration)).toEqual({
|
|
x: 1,
|
|
});
|
|
expect(filterValidOptions({
|
|
x: 1,
|
|
z: null,
|
|
}, mockDeclaration)).toEqual({
|
|
x: 1,
|
|
});
|
|
expect(filterValidOptions({
|
|
a: 1,
|
|
}, mockDeclaration)).toEqual({
|
|
});
|
|
});
|
|
});
|