UNPKG

@dhlab/e2e-autogen

Version:

Google 스프레드시트 기반 시나리오를 Playwright 테스트 스텁 코드로 자동 생성하고, 테스트 실행 결과를 다시 시트에 업데이트하는 CLI 도구

103 lines (94 loc) 2.2 kB
type TSocketIoMessage = { direction: "clientToServer" | "serverToClient"; event: string; data: unknown[]; timestamp: number; isBinary?: boolean; }; type TSocketIoRecording = { type: "socketio"; requestId: string; connection: { url: string; namespace?: string; timestamp: number; reject?: { message: string; afterMs?: number; code?: string | number; data?: unknown; }; }; messages: TSocketIoMessage[]; closedAt?: number; }; type TOnConnectBurst = { responses: { event: string; args: unknown[]; delayMs: number; }[]; }; type TTriggeredStep = { expect: { event: string; args: unknown[]; }; responses: { event: string; args: unknown[]; delayMs: number; }[]; }; type TSocketScenario = { namespace: string; onConnect: TOnConnectBurst; steps: TTriggeredStep[]; disconnectAfterMs?: number; handshakeReject?: { message: string; afterMs?: number; code?: string | number; data?: unknown; }; }; type RecordingSourceContract = { load(): Promise<TSocketIoRecording>; }; type ScenarioBuilderContract = { build(rec: TSocketIoRecording, opts?: { speed?: number; }): TSocketScenario; }; type SocketPlayerContract = { start(s: TSocketScenario): Promise<void>; close(): void; connected(): boolean; }; type SocketServerContract = { start(): Promise<void>; close(): void; connected(): boolean; }; declare class MockSocketServer implements SocketServerContract { #private; constructor({ source, builder, player, buildOptions }: TArgs$1); start(): Promise<void>; close(): void; connected(): boolean; } type TArgs$1 = { source: RecordingSourceContract; builder: ScenarioBuilderContract; player: SocketPlayerContract; buildOptions?: { speed?: number; }; }; declare const makeMockSocketServer: ({ data, port, speed, }: TArgs) => MockSocketServer; type TArgs = { data: unknown; port: number; speed?: number; }; export { makeMockSocketServer };