Spaces:
Configuration error
Configuration error
| summary: "How to run tests locally (vitest) and when to use force/coverage modes" | |
| read_when: | |
| - Running or fixing tests | |
| # Tests | |
| - Full testing kit (suites, live, Docker): [Testing](/testing) | |
| - `pnpm test:force`: Kills any lingering gateway process holding the default control port, then runs the full Vitest suite with an isolated gateway port so server tests don’t collide with a running instance. Use this when a prior gateway run left port 18789 occupied. | |
| - `pnpm test:coverage`: Runs Vitest with V8 coverage. Global thresholds are 70% lines/branches/functions/statements. Coverage excludes integration-heavy entrypoints (CLI wiring, gateway/telegram bridges, webchat static server) to keep the target focused on unit-testable logic. | |
| - `pnpm test:e2e`: Runs gateway end-to-end smoke tests (multi-instance WS/HTTP/node pairing). | |
| - `pnpm test:live`: Runs provider live tests (minimax/zai). Requires API keys and `LIVE=1` (or provider-specific `*_LIVE_TEST=1`) to unskip. | |
| ## Model latency bench (local keys) | |
| Script: [`scripts/bench-model.ts`](https://github.com/moltbot/moltbot/blob/main/scripts/bench-model.ts) | |
| Usage: | |
| - `source ~/.profile && pnpm tsx scripts/bench-model.ts --runs 10` | |
| - Optional env: `MINIMAX_API_KEY`, `MINIMAX_BASE_URL`, `MINIMAX_MODEL`, `ANTHROPIC_API_KEY` | |
| - Default prompt: “Reply with a single word: ok. No punctuation or extra text.” | |
| Last run (2025-12-31, 20 runs): | |
| - minimax median 1279ms (min 1114, max 2431) | |
| - opus median 2454ms (min 1224, max 3170) | |
| ## Onboarding E2E (Docker) | |
| Docker is optional; this is only needed for containerized onboarding smoke tests. | |
| Full cold-start flow in a clean Linux container: | |
| ```bash | |
| scripts/e2e/onboard-docker.sh | |
| ``` | |
| This script drives the interactive wizard via a pseudo-tty, verifies config/workspace/session files, then starts the gateway and runs `moltbot health`. | |
| ## QR import smoke (Docker) | |
| Ensures `qrcode-terminal` loads under Node 22+ in Docker: | |
| ```bash | |
| pnpm test:docker:qr | |
| ``` | |