mocha-multiple-sessions-detailed-runner
Version:
High-level API for multi-session Mocha tests with detailed reporting
31 lines (25 loc) • 1.08 kB
text/typescript
import type { MultiSessionConfig, SessionResult, SessionState } from '../core/types';
import type { BatchExecutionOptions } from '../core/batch-execution';
import type { ExecutionSummary } from '../repositories/session-meta-repository';
export interface IRunnerService {
// Configuration
initialize(config?: Partial<MultiSessionConfig>): void;
isInitialized(): boolean;
getConfiguration(): MultiSessionConfig;
updateConfiguration(config: Partial<MultiSessionConfig>): void;
// Session Management
defineSession(label: string, setupFn: () => void): void;
getSessionCount(): number;
hasSession(label: string): boolean;
getSessionLabels(): string[];
// Execution
runSingleSession(label: string): Promise<SessionResult>;
runAllSessions(options?: BatchExecutionOptions): Promise<Record<string, SessionResult>>;
// State Queries
getSessionStates(): Record<string, SessionState>;
getExecutionSummary(): ExecutionSummary;
isRunning(): boolean;
// Lifecycle
clear(): Promise<void>;
destroy(): Promise<void>;
}