nocobase/packages/server/src/__tests__/dataWrapping.test.ts
2021-09-14 11:09:26 +08:00

58 lines
1.3 KiB
TypeScript

import supertest from 'supertest';
import { Application } from '../application';
describe('application', () => {
let app: Application;
let agent;
beforeEach(() => {
app = new Application({
database: {
username: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_DATABASE,
host: process.env.DB_HOST,
port: process.env.DB_PORT as any,
dialect: process.env.DB_DIALECT as any,
dialectOptions: {
charset: 'utf8mb4',
collate: 'utf8mb4_unicode_ci',
},
},
resourcer: {
prefix: '/api',
},
dataWrapping: true,
});
app.resourcer.registerActionHandlers({
list: async (ctx, next) => {
ctx.body = [1, 2];
await next();
},
get: async (ctx, next) => {
ctx.body = [3, 4];
await next();
},
'foo2s.bar2s:list': async (ctx, next) => {
ctx.body = [5, 6];
await next();
},
});
agent = supertest.agent(app.callback());
});
afterEach(async () => {
return app.db.close();
});
it('resourcer.define', async () => {
app.resourcer.define({
name: 'test',
});
const response = await agent.get('/api/test');
expect(response.body).toEqual({
data: [1, 2],
});
});
});