code-center/test/db/code.test.ts

61 lines
1.7 KiB
TypeScript

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 file = await RouterCodeModel.create({
path: 'demo',
key: 'returnDemo',
active: true,
project: 'default',
code: `async function run(ctx) {
ctx.body = 'test js';
return ctx;
}`,
});
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);
}
});
});