import { MockServer, mockServer } from '@nocobase/test'; import path from 'path'; import { ApplicationOptions } from '@nocobase/server'; import Plugin from '..'; export function sleep(ms: number) { return new Promise(resolve => { setTimeout(resolve, ms); }); } interface MockAppOptions extends ApplicationOptions { manual?: boolean; } export async function getApp({ manual, ...options }: MockAppOptions = {}): Promise { const app = mockServer(options); app.plugin(Plugin, { name: 'verification' }); await app.load(); await app.db.import({ directory: path.resolve(__dirname, './collections') }); try { await app.db.sync(); } catch (error) { console.error(error); } if (!manual) { await app.start(); } return app; }