Engineering
Testing
Verification workflow for Urmate features.
Testing
Urmate has many realtime and integration-heavy features, so testing should combine automated checks with focused smoke tests.
Baseline Commands
cd /root/apps/urmate
pnpm lint
pnpm typecheck
pnpm build
Run the commands that exist in the current package. If a script is missing, document it in the PR instead of pretending it passed.
Smoke Test Matrix
| Feature | Check |
|---|---|
| Auth | Login, logout, protected route redirect, session persistence. |
| Study | Find Instructor, instructor profile, booking request, message to Circles. |
| Instructor | Application submit, admin approve, dashboard unlock, session creation, calendar sync. |
| Certificates | Template list, create template, builder save, preview render. |
| Chat channels | Telegram/Discord webhook setup, message receive, AI reply, thread history. |
| Tasks | Create task, assign agent, move status, agent workroom result, review state. |
| Community | Catalog load, detail page, install/fork into chat or XRouter. |
| XRouter | OpenAI-compatible endpoint, Anthropic-compatible endpoint, media endpoints, copy buttons. |
| Builder | Project create, file edit, preview, terminal, publish/export. |
Integration Notes
- Telegram webhooks require HTTPS. Use Cloudflare Tunnel or a deployed domain for local testing.
- Google Calendar OAuth requires a registered redirect URI.
- Discord normal messages require gateway/bot permissions; slash command behavior and message intent are separate concerns.
- Meta WhatsApp and Instagram require a Meta app, business assets, webhooks, and approved scopes.
UI Testing
Use Playwright or manual browser checks for large UI changes. Always check desktop and mobile widths when editing dashboards, task boards, certificate builder, or chat prompt boxes.

