mocha-multiple-sessions-detailed-runner
Version:
High-level API for multi-session Mocha tests with detailed reporting
60 lines • 2.19 kB
TypeScript
import type { BatchProgressData, BatchExecutionResult } from '../core/batch-execution';
import type { SessionMeta, TestStats } from '../core/types';
export type RunnerEventType = 'runner:initialized' | 'runner:session-defined' | 'runner:batch-started' | 'runner:batch-progress' | 'runner:batch-completed' | 'runner:batch-failed' | 'runner:report-generated' | 'runner:combined-report-generated' | 'runner:cleared' | 'runner:destroyed' | 'runner:config-updated';
export interface RunnerEvent {
type: RunnerEventType;
timestamp: Date;
data?: RunnerEventData;
}
export type RunnerEventData = InitializedEventData | SessionDefinedEventData | BatchStartedEventData | BatchProgressEventData | BatchCompletedEventData | BatchFailedEventData | ReportGeneratedEventData | CombinedReportGeneratedEventData | ClearedEventData | ConfigUpdatedEventData;
export interface InitializedEventData {
configUsed: any;
sessionCount: number;
timestamp: Date;
}
export interface SessionDefinedEventData {
sessionLabel: string;
sessionMeta: SessionMeta;
totalSessions: number;
}
export interface BatchStartedEventData {
sessionLabels: string[];
totalSessions: number;
executionMode: 'sequential' | 'parallel';
options: any;
}
export interface BatchProgressEventData extends BatchProgressData {
sessionResults?: Record<string, any>;
}
export interface BatchCompletedEventData extends BatchExecutionResult {
}
export interface BatchFailedEventData {
error: Error;
completedSessions: string[];
failedSession?: string;
partialResults: Record<string, any>;
}
export interface ReportGeneratedEventData {
reportType: 'session';
sessionLabel: string;
reportSize: number;
generatedAt: Date;
stats: TestStats;
}
export interface CombinedReportGeneratedEventData {
reportType: 'combined';
totalSessions: number;
reportSize: number;
generatedAt: Date;
summary: any;
}
export interface ClearedEventData {
clearedSessions: string[];
clearedReports: string[];
}
export interface ConfigUpdatedEventData {
oldConfig: any;
newConfig: any;
changes: string[];
}
//# sourceMappingURL=runner-events.d.ts.map