forked from molecule-ai/molecule-core
Adds 22-case coverage for EmptyState — the full-canvas welcome card:
- Loading state (GET /templates pending)
- Template grid renders with correct name, tier badge, description, skill count, model
- Template button calls deploy on click
- "Deploying..." label on the deploying template button
- Buttons disabled while any deploy is in-flight
- "Create blank" button POSTs /workspaces with correct payload
- "Creating..." label while POST is pending
- selectNode + setPanelTab("chat") called after 500ms on success
- Error banner with role=alert on POST failure
- Fetch failure / empty templates → only "create blank" button shown
Uses vi.hoisted + vi.mock to fully isolate api.get, api.post, useTemplateDeploy,
useCanvasStore, and all child components.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| e2e | ||
| public | ||
| src | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| components.json | ||
| Dockerfile | ||
| next.config.ts | ||
| package-lock.json | ||
| package.json | ||
| playwright.config.ts | ||
| playwright.staging.config.ts | ||
| postcss.config.js | ||
| tsconfig.json | ||
| vitest.config.ts | ||