mirror of
https://github.com/labring/FastGPT.git
synced 2025-07-23 13:03:50 +00:00

* deps: add jest deps * chore: mock * feat: use mocinggoose * feat: jest * chore: remove babel.config.js
77 lines
1.8 KiB
TypeScript
77 lines
1.8 KiB
TypeScript
import { MongoMemoryServer } from 'mongodb-memory-server';
|
|
import mongoose from 'mongoose';
|
|
import { MockParseHeaderCert } from '@/test/utils';
|
|
import { initMockData } from './db/init';
|
|
|
|
jest.mock('nanoid', () => {
|
|
return {
|
|
nanoid: () => {}
|
|
};
|
|
});
|
|
|
|
jest.mock('@fastgpt/global/common/string/tools', () => {
|
|
return {
|
|
hashStr(str: string) {
|
|
return str;
|
|
}
|
|
};
|
|
});
|
|
|
|
jest.mock('@fastgpt/service/common/system/log', jest.fn());
|
|
|
|
jest.mock('@fastgpt/service/support/permission/controller', () => {
|
|
return {
|
|
parseHeaderCert: MockParseHeaderCert,
|
|
getResourcePermission: jest.requireActual('@fastgpt/service/support/permission/controller')
|
|
.getResourcePermission,
|
|
getResourceAllClbs: jest.requireActual('@fastgpt/service/support/permission/controller')
|
|
.getResourceAllClbs
|
|
};
|
|
});
|
|
|
|
const parse = jest.createMockFromModule('@fastgpt/service/support/permission/controller') as any;
|
|
parse.parseHeaderCert = MockParseHeaderCert;
|
|
|
|
jest.mock('@/service/middleware/entry', () => {
|
|
return {
|
|
NextAPI: (...args: any) => {
|
|
return async function api(req: any, res: any) {
|
|
try {
|
|
let response = null;
|
|
for (const handler of args) {
|
|
response = await handler(req, res);
|
|
}
|
|
return {
|
|
code: 200,
|
|
data: response
|
|
};
|
|
} catch (error) {
|
|
return {
|
|
code: 500,
|
|
error
|
|
};
|
|
}
|
|
};
|
|
}
|
|
};
|
|
});
|
|
|
|
beforeAll(async () => {
|
|
if (!global.mongod || !global.mongodb) {
|
|
const mongod = await MongoMemoryServer.create();
|
|
global.mongod = mongod;
|
|
global.mongodb = mongoose;
|
|
await global.mongodb.connect(mongod.getUri());
|
|
await initMockData();
|
|
}
|
|
});
|
|
|
|
afterAll(async () => {
|
|
if (global.mongodb) {
|
|
await global.mongodb.disconnect();
|
|
}
|
|
if (global.mongod) {
|
|
await global.mongod.stop();
|
|
}
|
|
});
|