# AI Stack Deployer - Test Plan ## Test Environment - Local development: `localhost:5173` (Vite) + `localhost:3000` (API) - Production: `https://portal.ai.flexinit.nl` ## Phase 1: Build & TypeScript Validation ### 1.1 TypeScript Type Checking - [ ] Run `bun run typecheck` - [ ] Verify no type errors in client - [ ] Verify no type errors in server ### 1.2 Production Build - [ ] Run `bun run build` - [ ] Verify client build succeeds - [ ] Verify API build succeeds - [ ] Check bundle sizes are reasonable - [ ] Verify dist/client/ contains all assets ### 1.3 Docker Build - [ ] Run `docker build -t ai-stack-deployer:test .` - [ ] Verify build completes without errors - [ ] Check that dist/client/ is copied to image ## Phase 2: Visual & UI Testing ### 2.1 Deploy Page (/) - New Design - [ ] WebGL canvas background renders - [ ] Glassmorphism card styling visible - [ ] Language selector (NL/AR/EN) renders - [ ] Page animations (fade-in, slide-up) work - [ ] No visual glitches or layout breaks ### 2.2 Auth Page (/auth) - Existing Design - [ ] Page lazy loads (shows Loading...) - [ ] WebGL dot matrix animation renders - [ ] Email step renders correctly - [ ] Code entry step renders correctly - [ ] Success step renders correctly ### 2.3 Responsive Design - [ ] Test mobile viewport (375px) - [ ] Test tablet viewport (768px) - [ ] Test desktop viewport (1920px) ## Phase 3: Functionality Testing ### 3.1 Deploy Form - [ ] Input field accepts text - [ ] Real-time validation triggers on input - [ ] Invalid names show error message - [ ] Valid names show "✓ Name is available!" - [ ] Deploy button disabled when invalid - [ ] Deploy button enabled when valid - [ ] URL preview updates dynamically ### 3.2 Language Switching (i18n) - [ ] Click NL - UI switches to Dutch - [ ] Click AR - UI switches to Arabic (RTL) - [ ] Click EN - UI switches to English - [ ] All translations render correctly - [ ] RTL layout works for Arabic ### 3.3 API Integration - [ ] GET /health returns healthy status - [ ] GET /api/check/:name validates names - [ ] POST /api/deploy starts deployment - [ ] SSE /api/status/:id streams progress - [ ] CORS headers present ### 3.4 Deployment Flow (if API available) - [ ] Submit valid stack name - [ ] Progress page renders - [ ] SSE progress updates received - [ ] Progress bar animates - [ ] Logs display in real-time - [ ] Success page renders on completion - [ ] "Deploy Another" button resets form ### 3.5 Error Handling - [ ] Submit taken name - shows error - [ ] Submit invalid name - shows error - [ ] Network error - shows error message - [ ] Error page has "Try Again" button ## Phase 4: Browser Compatibility ### 4.1 Console Errors - [ ] No JavaScript errors in console - [ ] No React warnings - [ ] No 404 for assets ### 4.2 Network Requests - [ ] All assets load successfully (JS, CSS, fonts) - [ ] API requests return valid responses - [ ] SSE connection established properly ## Phase 5: Production Deployment ### 5.1 Docker Container - [ ] Container starts successfully - [ ] Health check passes - [ ] Port 3000 accessible - [ ] React app served from / - [ ] API endpoints respond ### 5.2 Production Environment - [ ] Navigate to https://portal.ai.flexinit.nl - [ ] Verify React app loads (not legacy) - [ ] Test full deployment flow - [ ] Verify HTTPS certificate valid ## Pass/Fail Criteria **PASS**: All items checked, no critical issues **FAIL**: Any critical issue (build fails, page doesn't load, API broken) ## Test Execution Log Date: 2026-01-13 Tester: Claude (Sisyphus) Environment: Local development ---