kt-template-online-api/test/modules/qqbot/plugin-platform/plugin-platform-di.spec.ts

31 lines
1.1 KiB
TypeScript

import { readFileSync } from 'node:fs';
import { join } from 'node:path';
import { QqbotPluginPlatformService } from '../../../../src/modules/qqbot/plugin-platform/application/plugin-platform.service';
import { QqbotPluginTaskWorkerProcessor } from '../../../../src/modules/qqbot/plugin-platform/application/task/qqbot-plugin-task-worker.processor';
describe('QQBot plugin platform DI tokens', () => {
it('does not inject the removed built-in plugin loader into platform services', () => {
const source = readFileSync(
join(
process.cwd(),
'src/modules/qqbot/plugin-platform/plugin-platform.module.ts',
),
'utf8',
);
expect(source).not.toContain(
`Qqbot${'Builtin'}PluginPackageLoaderService`,
);
expect(source).toContain('QqbotPluginPackageSourceService');
expect(source).toContain('QqbotPluginWorkerRuntimeFactoryService');
});
it('keeps the task worker platform service dependency available at runtime', () => {
const paramTypes =
Reflect.getMetadata('design:paramtypes', QqbotPluginTaskWorkerProcessor) ||
[];
expect(paramTypes[1]).toBe(QqbotPluginPlatformService);
});
});