- Install Jest for unit testing with React Testing Library - Install Playwright for end-to-end testing - Configure Jest with proper TypeScript support and module mapping - Create test setup files and utilities for both unit and e2e tests Components: * Jest configuration with coverage thresholds * Playwright configuration with browser automation * Unit tests for LoginForm, AuthContext, and useSocketIO hook * E2E tests for authentication, dashboard, and agents workflows * GitHub Actions workflow for automated testing * Mock data and API utilities for consistent testing * Test documentation with best practices Testing features: - Unit tests with 70% coverage threshold - E2E tests with API mocking and user journey testing - CI/CD integration for automated test runs - Cross-browser testing support with Playwright - Authentication system testing end-to-end 🚀 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
36 lines
1.0 KiB
TypeScript
36 lines
1.0 KiB
TypeScript
import { SerializableModuleMap } from "jest-haste-map";
|
|
import Runtime from "jest-runtime";
|
|
import { TestResult } from "@jest/test-result";
|
|
import { Config } from "@jest/types";
|
|
|
|
//#region src/types.d.ts
|
|
|
|
type TestRunnerContext = {
|
|
changedFiles?: Set<string>;
|
|
sourcesRelatedToTestsInChangedFiles?: Set<string>;
|
|
};
|
|
type SerializeSet<T> = T extends Set<infer U> ? Array<U> : T;
|
|
type TestRunnerSerializedContext = { [K in keyof TestRunnerContext]: SerializeSet<TestRunnerContext[K]> };
|
|
//#endregion
|
|
//#region src/testWorker.d.ts
|
|
type SerializableResolver = {
|
|
config: Config.ProjectConfig;
|
|
serializableModuleMap: SerializableModuleMap;
|
|
};
|
|
type WorkerData = {
|
|
config: Config.ProjectConfig;
|
|
globalConfig: Config.GlobalConfig;
|
|
path: string;
|
|
context: TestRunnerSerializedContext;
|
|
};
|
|
declare function setup(setupData: {
|
|
serializableResolvers: Array<SerializableResolver>;
|
|
}): void;
|
|
declare function worker({
|
|
config,
|
|
globalConfig,
|
|
path,
|
|
context
|
|
}: WorkerData): Promise<TestResult>;
|
|
//#endregion
|
|
export { SerializableResolver, setup, worker }; |