* feat: improve code * chore: update version * feat: api service * fix: api services * feat: improve code * feat: improve code * feat: improve code * feat: pm socket * fix: test errors * feat: add built-in plugins before upgrade * feat: update docs * feat: improve code * fix: after load
		
			
				
	
	
		
			40 lines
		
	
	
		
			784 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			784 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 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<MockServer> {
 | |
|   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;
 | |
| }
 |