mocha-multiple-sessions-detailed-runner
Version:
High-level API for multi-session Mocha tests with detailed reporting
31 lines (25 loc) • 1.25 kB
text/typescript
import { SessionState, SessionResult, DetailedReport, CombinedReport, MultiSessionConfig } from './types';
import { RunnerEventType, SessionEventType, RunnerEvent, SessionEvent } from '../events/index';
import { BatchExecutionOptions } from './batch-execution';
export interface IMultiSessionDetailedRunner {
// Core Management
init(config?: Partial<MultiSessionConfig>): void;
define(label: string, setupFn: () => void): void;
run(label: string): Promise<SessionResult>;
runAll(options?: BatchExecutionOptions): Promise<Record<string, SessionResult>>;
// Report Access
getReport(label: string): DetailedReport | null;
getSessionStates(): Record<string, SessionState>;
getCombinedReport(): CombinedReport;
// Event System
onRunnerEvent(eventType: RunnerEventType, callback: (event: RunnerEvent) => void): () => void;
onSessionEvent(eventType: SessionEventType, callback: (event: SessionEvent) => void): () => void;
onAnyEvent(callback: (event: RunnerEvent | SessionEvent) => void): () => void;
// State Queries
isInitialized(): boolean;
hasSession(label: string): boolean;
getSessionCount(): number;
// Utility
clear(): Promise<void>;
destroy(): Promise<void>;
}