Files
anthonyrawlins aacb45156b Set up comprehensive frontend testing infrastructure
- 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>
2025-07-11 14:06:34 +10:00

144 lines
2.8 KiB
TypeScript

/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import {Global as Global_2} from '@jest/types';
export declare function bind<EachCallback extends Global_2.TestCallback>(
cb: GlobalCallback,
supportsDone?: boolean,
needsEachError?: boolean,
): Global_2.EachTestFn<any>;
declare const each: {
(
table: Global_2.EachTable,
...data: Global_2.TemplateData
): ReturnType<typeof install>;
withGlobal(g: Global_2): (
table: Global_2.EachTable,
...data: Global_2.TemplateData
) => {
describe: {
(
title: string,
suite: Global_2.EachTestFn<Global_2.BlockFn>,
timeout?: number,
): any;
skip: any;
only: any;
};
fdescribe: any;
fit: any;
it: {
(
title: string,
test: Global_2.EachTestFn<Global_2.TestFn>,
timeout?: number,
): any;
skip: any;
only: any;
concurrent: {
(
title: string,
test: Global_2.EachTestFn<Global_2.TestFn>,
timeout?: number,
): any;
only: any;
skip: any;
};
};
test: {
(
title: string,
test: Global_2.EachTestFn<Global_2.TestFn>,
timeout?: number,
): any;
skip: any;
only: any;
concurrent: {
(
title: string,
test: Global_2.EachTestFn<Global_2.TestFn>,
timeout?: number,
): any;
only: any;
skip: any;
};
};
xdescribe: any;
xit: any;
xtest: any;
};
};
export default each;
declare type GlobalCallback = (
testName: string,
fn: Global_2.ConcurrentTestFn,
timeout?: number,
eachError?: Error,
) => void;
declare const install: (
g: Global_2,
table: Global_2.EachTable,
...data: Global_2.TemplateData
) => {
describe: {
(
title: string,
suite: Global_2.EachTestFn<Global_2.BlockFn>,
timeout?: number,
): any;
skip: any;
only: any;
};
fdescribe: any;
fit: any;
it: {
(
title: string,
test: Global_2.EachTestFn<Global_2.TestFn>,
timeout?: number,
): any;
skip: any;
only: any;
concurrent: {
(
title: string,
test: Global_2.EachTestFn<Global_2.TestFn>,
timeout?: number,
): any;
only: any;
skip: any;
};
};
test: {
(
title: string,
test: Global_2.EachTestFn<Global_2.TestFn>,
timeout?: number,
): any;
skip: any;
only: any;
concurrent: {
(
title: string,
test: Global_2.EachTestFn<Global_2.TestFn>,
timeout?: number,
): any;
only: any;
skip: any;
};
};
xdescribe: any;
xit: any;
xtest: any;
};
export {};