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>
This commit is contained in:
anthonyrawlins
2025-07-11 14:06:34 +10:00
parent c6d69695a8
commit aacb45156b
6109 changed files with 777927 additions and 1 deletions

View File

@@ -0,0 +1,24 @@
import { Callback } from './utils';
/** Determines whether the argument is a non-empty string. */
export declare function isNonEmptyString(data: unknown): boolean;
/** Determines whether the argument is a *valid* Date. */
export declare function isDate(data: unknown): boolean;
/** Determines whether the argument is the empty string. */
export declare function isEmptyString(data: unknown): boolean;
/** Determines whether the argument is a string. */
export declare function isString(data: unknown): boolean;
/** Determines whether the string representation of the argument is "[object Object]". */
export declare function isObject(data: unknown): boolean;
/** Determines whether the argument is an integer. */
export declare function isInteger(data: unknown): boolean;
/**
* When the first argument is false, an error is created with the given message. If a callback is
* provided, the error is passed to the callback, otherwise the error is thrown.
*/
export declare function validate(bool: boolean, cbOrMessage?: Callback<never> | string, message?: string): void;
/**
* Represents a validation error.
* @public
*/
export declare class ParameterError extends Error {
}