GroupMixer is a web application for distributing people into groups based on constraints and preferences. It has a Rust backend (gm-core, gm-api, gm-wasm) and TypeScript frontend (webapp).
Make the entire application end-to-end testable by AI agents without human intervention. AI should be able to:
-
Visual Testing
- Render every screen/route of the app
- Render all modals and overlays
- Test on all screen sizes (mobile, tablet, desktop)
- Take screenshots and visually verify layout/styling
- Detect visual regressions automatically
-
Functional Testing
- Test all user interactions (clicks, inputs, drag-drop)
- Verify all API endpoints work correctly
- Test error states and edge cases
- Validate data flow end-to-end
-
Full Stack Coverage
- Frontend: All UI components, routing, state management
- Backend: All API endpoints, business logic, solver algorithms
- Integration: Frontend ↔ Backend communication
- Self-documenting test coverage
- Reproducible test environments
- Fast feedback loops for AI debugging
- Rust backend with gm-core, gm-api, gm-wasm
- TypeScript webapp frontend
- Existing CLAUDE.md for coding conventions
- No comprehensive AI-friendly testing infrastructure yet
- Research existing AI E2E testing approaches for similar stacks
- Set up screenshot-based visual regression testing
- Create programmatic access to all UI states
- Implement API contract testing
- Full autonomous debugging by AI agents
- AI can identify, diagnose, and fix issues without human help
- Continuous AI-driven quality assurance
- Stack: Rust backend, TypeScript/JS frontend
- Must work in CI/CD pipelines
- Should support headless browser automation
- Must be deterministic and reproducible
- Playwright/Puppeteer for browser automation
- Visual regression testing tools (Percy, Chromatic, etc.)
- Storybook for component isolation
- API testing frameworks (for Rust backend)
- AI-specific testing patterns used in similar projects
- How other Rust+TS webapps achieve full test coverage
- Features should enable AI agents to test autonomously
- Prefer programmatic interfaces over manual testing
- All UI states should be reachable via URL or API
- Tests should be self-verifying with clear pass/fail criteria
- Performance optimization (focus on testability first)
- New user-facing features (infrastructure first)