magnitude-test
Version:
A TypeScript client for running automated UI tests through the Magnitude testing platform
55 lines (54 loc) • 1.73 kB
TypeScript
import { RegisteredTest, TestOptions } from "@/discovery/types";
import { TestResult, TestState } from "@/runner/state";
import { BrowserOptions, GroundingClient, LLMClient } from "magnitude-core";
import EventEmitter from "node:events";
import { TestFunction } from "@/discovery/types";
declare global {
var __magnitudeTestFunctions: Map<string, TestFunction> | undefined;
var __magnitudeMessageEmitter: EventEmitter | undefined;
var __magnitudeTestHooks: TestHooks | undefined;
}
export declare const testFunctions: Map<string, TestFunction>;
export declare const messageEmitter: EventEmitter<[never]>;
export type TestHooks = Record<'beforeAll' | 'afterAll' | 'beforeEach' | 'afterEach', (() => void | Promise<void>)[]>;
export declare const hooks: TestHooks;
export type TestWorkerIncomingMessage = {
type: "execute";
test: RegisteredTest;
browserOptions?: BrowserOptions;
llm?: LLMClient;
grounding?: GroundingClient;
telemetry?: boolean;
} | {
type: "graceful_shutdown";
};
export type TestWorkerOutgoingMessage = {
type: "load_complete";
} | {
type: "load_error";
error: string;
} | {
type: "registered";
test: RegisteredTest;
} | {
type: "test_result";
testId: string;
result: TestResult;
} | {
type: "test_error";
testId: string;
error: string;
} | {
type: "test_state_change";
testId: string;
state: TestState;
} | {
type: "graceful_shutdown_complete";
};
export declare function postToParent(message: TestWorkerOutgoingMessage): void;
export type TestWorkerData = {
absoluteFilePath: string;
options: TestOptions;
relativeFilePath: string;
};
export declare function getTestWorkerData(): TestWorkerData;