mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2025-12-12 11:20:11 +00:00
51 lines
1.2 KiB
TypeScript
51 lines
1.2 KiB
TypeScript
import { describe, it, expect, vi } from 'vitest';
|
|
import { createAppFunction } from '../../src/api/app';
|
|
import { definePlugin } from '../../src/plugin';
|
|
|
|
describe('createAppFunction', () => {
|
|
it('should require a function argument that returns an render object.', () => {
|
|
expect(() => createAppFunction(undefined as any)).rejects.toThrowError();
|
|
});
|
|
|
|
it('should return a function', () => {
|
|
const createApp = createAppFunction(async () => {
|
|
return {
|
|
appBase: {
|
|
mount(el) {},
|
|
unmount() {},
|
|
},
|
|
};
|
|
});
|
|
|
|
expect({ createApp }).toEqual({ createApp: expect.any(Function) });
|
|
});
|
|
|
|
it('should construct app object', () => {
|
|
expect('').toBe('');
|
|
});
|
|
|
|
it('should plugin inited when app created', async () => {
|
|
const plugin = definePlugin({
|
|
name: 'test',
|
|
setup() {},
|
|
});
|
|
const spy = vi.spyOn(plugin, 'setup');
|
|
|
|
const createApp = createAppFunction(async () => {
|
|
return {
|
|
appBase: {
|
|
mount(el) {},
|
|
unmount() {},
|
|
},
|
|
};
|
|
});
|
|
|
|
await createApp({
|
|
schema: {},
|
|
plugins: [plugin],
|
|
});
|
|
|
|
expect(spy).toHaveBeenCalled();
|
|
});
|
|
});
|