Overview
11 test suites, 95 tests — all using Jest with ESM modules.
Run: node --experimental-vm-modules node_modules/.bin/jest --no-cache --forceExit
Test Suites
| Suite | Tests | Covers |
|---|---|---|
| SchemaManager.test.ts | 5 | Create, drop, exists, ensure, list user schemas |
| database.test.ts | 3 | Pool exports, getUserClient, userQuery |
| middleware.test.ts | 10 | requireSession, attachUserDb, requireAdmin |
| auth.test.ts | 10 | Register, login, logout, /me |
| sse.test.ts | 3 | Client counting, initSSE event registration |
| DisconnectWatcher.test.ts | 3 | Event handling, intentional vs unintentional disconnects |
| UserSocketManager.test.ts | 12 | Singleton, state queries, reconnectAll, disconnectAll |
| statusRoutes.test.ts | 6 | /state, /initialize, /request-pairing, /logout, /destroy |
| admin.test.ts | 8 | /stats, /users, /disconnect, /reconnect, /events, /health |
| controllers.test.ts | 24 | chatController, messageController, contactController |
| TelemetryCollector.test.ts | 6 | Start/stop, telemetry collection, DB error resilience |
ESM Mock Pattern
All tests use jest.unstable_mockModule with jest.fn<any>() (required to avoid TypeScript never inference in ESM).
Not Yet Tested
- Full integration test (real HTTP through Express)
- Baileys socket lifecycle (real WebSocket)
- Media upload/download
- Stripe webhook handling