import { QueryTypes } from 'sequelize'; import { RouterCodeModel } from '../../src/models/code.ts'; const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)); // yarn test --testNamePattern='RouterCodeModel' describe('RouterCodeModel', () => { // 编写一个测试用例 // yarn test --testNamePattern='RouterCodeModel:init' test('RouterCodeModel:init', async () => { try { RouterCodeModel.sync({ force: true }); console.log('connect success'); await sleep(2000); } catch (error) { console.error('connect error', error); } }); // yarn test --testNamePattern='RouterCodeModel:sync' test('RouterCodeModel:sync', async () => { try { RouterCodeModel.sync({ alter: true }); console.log('connect success'); await sleep(2000); } catch (error) { console.error('connect error', error); } }); // yarn test --testNamePattern='RouterCodeModel:create' test('RouterCodeModel:create', async () => { try { const demoCode = `async function run(ctx) { ctx.body = 'test js'; return ctx; }`; const file = await RouterCodeModel.create({ path: 'demo', key: 'returnDemo', active: true, project: 'default', code: demoCode, exec: demoCode, }); console.log('create success', file); await sleep(2000); } catch (error) { console.error('create error', error); } }); // yarn test --testNamePattern='RouterCodeModel:findAll' test('RouterCodeModel:findAll', async () => { try { const files = await RouterCodeModel.findAll(); console.log( 'findAll success', files.map((file) => file.toJSON()), ); await sleep(2000); } catch (error) { console.error('findAll error', error); } }); });