- 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>
babel-jest
Usage
If you are already using jest-cli, add babel-jest and it will automatically compile JavaScript code using Babel.
yarn add --dev babel-jest @babel/core
If you would like to write your own preprocessor, uninstall and delete babel-jest and set the config.transform option to your preprocessor.
Setup
Note: this step is only required if you are using babel-jest with additional code preprocessors.
To explicitly define babel-jest as a transformer for your JavaScript code, map .js files to the babel-jest module. Typescript files are also supported.
By default, it loads your existing Babel configuration (if any)
"transform": {
"\\.[jt]sx?$": "babel-jest"
},
You can also pass further babel options
"transform": {
"\\.[jt]sx?$": ["babel-jest", { "extends": "./babel.config.js", "plugins": ["babel-plugin-transform-import-meta"] }]
},
By default, babel-jest includes babel-preset-jest. In addition to the babel options, we introduce a new option, excludeJestPreset, which allows you to disable this behavior. Note that this will break jest.mock hoisting.
"transform": {
"\\.[jt]sx?$": ["babel-jest", { "excludeJestPreset": true }],
}