- 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>
signal-exit
When you want to fire an event no matter how a process exits:
- reaching the end of execution.
- explicitly having
process.exit(code)called. - having
process.kill(pid, sig)called. - receiving a fatal signal from outside the process
Use signal-exit.
var onExit = require('signal-exit')
onExit(function (code, signal) {
console.log('process exited!')
})
API
var remove = onExit(function (code, signal) {}, options)
The return value of the function is a function that will remove the handler.
Note that the function only fires for signals if the signal would cause the process to exit. That is, there are no other listeners, and it is a fatal signal.
Options
alwaysLast: Run this handler after any other signal or exit handlers. This causesprocess.emitto be monkeypatched.
