import { Plugin, PluginLifecycleManager } from '../../../blaize-types/src/index'; /** * Create a mock plugin for testing */ export function createMockPlugin(overrides: Partial = {}): Plugin { return { name: 'test-plugin', version: '1.0.0', register: vi.fn().mockResolvedValue(undefined) as any, initialize: vi.fn().mockResolvedValue(undefined), terminate: vi.fn().mockResolvedValue(undefined), onServerStart: vi.fn().mockResolvedValue(undefined), onServerStop: vi.fn().mockResolvedValue(undefined), ...overrides, }; } /** * Create multiple mock plugins for testing */ export function createMockPlugins(count: number, baseOverrides: Partial = {}): Plugin[] { return Array.from({ length: count }, (_, index) => createMockPlugin({ name: `test-plugin-${index + 1}`, ...baseOverrides, }) ); } /** * Create a mock plugin lifecycle manager for testing */ export function createMockPluginLifecycleManager( overrides: Partial = {} ): PluginLifecycleManager { return { registerPlugins: vi.fn().mockResolvedValue(undefined), initializePlugins: vi.fn().mockResolvedValue(undefined), terminatePlugins: vi.fn().mockResolvedValue(undefined), onServerStart: vi.fn().mockResolvedValue(undefined), onServerStop: vi.fn().mockResolvedValue(undefined), ...overrides, }; }