Migrated from design-system-swarm with fresh git history.
Old project history preserved in /home/overbits/apps/design-system-swarm
Core components:
- MCP Server (Python FastAPI with mcp 1.23.1)
- Claude Plugin (agents, commands, skills, strategies, hooks, core)
- DSS Backend (dss-mvp1 - token translation, Figma sync)
- Admin UI (Node.js/React)
- Server (Node.js/Express)
- Storybook integration (dss-mvp1/.storybook)
Self-contained configuration:
- All paths relative or use DSS_BASE_PATH=/home/overbits/dss
- PYTHONPATH configured for dss-mvp1 and dss-claude-plugin
- .env file with all configuration
- Claude plugin uses ${CLAUDE_PLUGIN_ROOT} for portability
Migration completed: $(date)
🤖 Clean migration with full functionality preserved
375 lines
9.9 KiB
Markdown
375 lines
9.9 KiB
Markdown
# DSS Admin UI - Test Automation Quick Start
|
|
|
|
## 30-Second Setup
|
|
|
|
```bash
|
|
cd /home/overbits/dss
|
|
.dss/run_all_tests.sh
|
|
```
|
|
|
|
That's it! The script will:
|
|
- ✅ Check prerequisites
|
|
- ✅ Start services if needed
|
|
- ✅ Run all 3 test phases (51 components + 79+ API endpoints)
|
|
- ✅ Generate HTML reports
|
|
- ✅ Print summary
|
|
|
|
---
|
|
|
|
## One-Minute Overview
|
|
|
|
### What Tests Do
|
|
|
|
| Phase | Tests | Duration | Coverage |
|
|
|-------|-------|----------|----------|
|
|
| **1: Smoke** | 51 components load | 5-10 min | Component loading, console errors |
|
|
| **2: Category** | 27 interaction tests | 3-5 min | Tools, Metrics, Layout, Admin, UI |
|
|
| **3: API** | 79+ endpoints | 2-3 min | All REST API endpoints |
|
|
|
|
**Total:** ~373 test cases, 10-20 minutes, 95%+ expected pass rate
|
|
|
|
---
|
|
|
|
## Common Commands
|
|
|
|
### Run Everything
|
|
```bash
|
|
.dss/run_all_tests.sh
|
|
```
|
|
|
|
### Run Specific Phase
|
|
```bash
|
|
# Phase 1 only (component loading)
|
|
pytest .dss/test_smoke_phase1.py -v
|
|
|
|
# Phase 2 only (component interactions)
|
|
pytest .dss/test_category_phase2.py -v
|
|
|
|
# Phase 3 only (API endpoints)
|
|
pytest .dss/test_api_phase3.py -v
|
|
```
|
|
|
|
### Test Specific Component
|
|
```bash
|
|
pytest .dss/test_smoke_phase1.py -k ds-shell -v
|
|
pytest .dss/test_smoke_phase1.py -k ds-metrics-panel -v
|
|
```
|
|
|
|
### Test Specific Category
|
|
```bash
|
|
pytest .dss/test_category_phase2.py::TestToolsCategory -v
|
|
pytest .dss/test_category_phase2.py::TestAdminCategory -v
|
|
```
|
|
|
|
### Debug Mode
|
|
```bash
|
|
# Stop on first failure
|
|
pytest .dss/test_*.py -x -v
|
|
|
|
# Show print statements
|
|
pytest .dss/test_*.py -s -v
|
|
|
|
# Drop into debugger
|
|
pytest .dss/test_*.py --pdb -v
|
|
```
|
|
|
|
### Parallel Execution (3x faster)
|
|
```bash
|
|
pip3 install pytest-xdist
|
|
pytest .dss/test_*.py -n auto -v
|
|
```
|
|
|
|
---
|
|
|
|
## View Results
|
|
|
|
### HTML Reports
|
|
```bash
|
|
# After running tests, open reports in browser
|
|
open .dss/test-logs/phase1-report.html
|
|
open .dss/test-logs/phase2-report.html
|
|
open .dss/test-logs/phase3-report.html
|
|
```
|
|
|
|
### Console Output
|
|
```bash
|
|
# During tests, see real-time progress
|
|
# At end, see summary like:
|
|
|
|
# Phase 1 - Smoke Test: PASSED
|
|
# Phase 2 - Category Testing: PASSED
|
|
# Phase 3 - API Testing: PASSED
|
|
|
|
# Reports: .dss/test-logs/
|
|
```
|
|
|
|
### Detailed Logs
|
|
```bash
|
|
tail -f .dss/test-logs/phase1-smoke-test.log
|
|
tail -f .dss/test-logs/phase2-category-test.log
|
|
tail -f .dss/test-logs/phase3-api-test.log
|
|
```
|
|
|
|
---
|
|
|
|
## Install Prerequisites (One-Time)
|
|
|
|
```bash
|
|
# Python 3.8+
|
|
python3 --version
|
|
|
|
# Install test tools
|
|
pip3 install pytest pytest-playwright pytest-asyncio httpx
|
|
|
|
# Install browsers
|
|
python3 -m playwright install
|
|
|
|
# Optional: For parallel tests
|
|
pip3 install pytest-xdist
|
|
|
|
# Optional: For coverage reports
|
|
pip3 install pytest-cov
|
|
|
|
# Optional: For HTML reports
|
|
pip3 install pytest-html
|
|
```
|
|
|
|
---
|
|
|
|
## Expected Results
|
|
|
|
### Phase 1: Smoke Test ✅
|
|
```
|
|
✅ PASS [Tools] ds-metrics-panel
|
|
✅ PASS [Tools] ds-console-viewer
|
|
✅ PASS [Layout] ds-shell
|
|
✅ PASS [Metrics] ds-metrics-dashboard
|
|
... (51 total)
|
|
|
|
Result: 51/51 PASSED (100%)
|
|
```
|
|
|
|
### Phase 2: Category Testing ✅
|
|
```
|
|
✅ PASS TestToolsCategory::test_metrics_panel_data_display
|
|
✅ PASS TestMetricsCategory::test_metrics_dashboard_renders
|
|
✅ PASS TestLayoutCategory::test_shell_component_core_layout
|
|
✅ PASS TestAdminCategory::test_admin_settings_form
|
|
... (27 total)
|
|
|
|
Result: 27/27 PASSED (100%)
|
|
```
|
|
|
|
### Phase 3: API Testing ✅
|
|
```
|
|
✅ PASS TestProjectEndpoints::test_list_projects_endpoint
|
|
✅ PASS TestFigmaEndpoints::test_figma_status_endpoint
|
|
✅ PASS TestMCPToolsEndpoints::test_list_mcp_tools
|
|
✅ PASS test_comprehensive_api_scan
|
|
... (40+ total)
|
|
|
|
Result: 40+/40+ PASSED (100%)
|
|
```
|
|
|
|
---
|
|
|
|
## Troubleshooting
|
|
|
|
### Issue: "pytest command not found"
|
|
```bash
|
|
pip3 install pytest pytest-playwright pytest-asyncio
|
|
```
|
|
|
|
### Issue: "Playwright not installed"
|
|
```bash
|
|
pip3 install playwright
|
|
python3 -m playwright install --with-deps
|
|
```
|
|
|
|
### Issue: "Port 5173 already in use"
|
|
```bash
|
|
# Find what's using it
|
|
lsof -i :5173
|
|
|
|
# Kill it
|
|
kill -9 <PID>
|
|
```
|
|
|
|
### Issue: "API tests fail (FastAPI not running)"
|
|
```bash
|
|
# This is OK! Phase 3 skips if backend not available
|
|
# Phase 1 & 2 will still run
|
|
# To run Phase 3, start FastAPI backend on localhost:8002
|
|
```
|
|
|
|
### Issue: "Tests timeout"
|
|
```bash
|
|
# Increase timeout
|
|
pytest .dss/test_*.py --timeout=60 -v
|
|
```
|
|
|
|
---
|
|
|
|
## File Locations
|
|
|
|
```
|
|
.dss/
|
|
├── run_all_tests.sh ← Run this!
|
|
├── test_smoke_phase1.py Phase 1 tests
|
|
├── test_category_phase2.py Phase 2 tests
|
|
├── test_api_phase3.py Phase 3 tests
|
|
├── TEST_AUTOMATION_README.md Full documentation
|
|
├── QUICK_START.md This file
|
|
└── test-logs/ Results go here
|
|
├── phase1-report.html
|
|
├── phase2-report.html
|
|
└── phase3-report.html
|
|
```
|
|
|
|
---
|
|
|
|
## What's Being Tested
|
|
|
|
### 51 Components Loaded
|
|
- **Tools:** metrics-panel, console-viewer, token-inspector, figma-status, activity-log, visual-diff, accessibility-report, screenshot-gallery, network-monitor, test-results, system-log, figma-extract-quick, quick-wins-script, regression-testing
|
|
- **Metrics:** frontpage, metric-card, metrics-dashboard
|
|
- **Layout:** shell, panel, activity-bar, ai-chat-sidebar, project-selector
|
|
- **Admin:** admin-settings, project-list, user-settings
|
|
- **UI:** button, input, card, badge, toast, workflow, notification-center, action-bar, component-base
|
|
- **Listings:** icon-list, jira-issues
|
|
|
|
### 5 Component Categories Validated
|
|
- Tools (input/execute/result)
|
|
- Metrics (data rendering)
|
|
- Layout (navigation)
|
|
- Admin (CRUD)
|
|
- UI Elements (interactions)
|
|
|
|
### 79+ API Endpoints Tested
|
|
- Authentication (login, logout, me)
|
|
- Projects (CRUD)
|
|
- Browser Logs (ingestion)
|
|
- Figma Integration (9 endpoints)
|
|
- MCP Tools (execution)
|
|
- System & Admin (status, config)
|
|
- Audit & Discovery (logs, services)
|
|
|
|
---
|
|
|
|
## Performance Metrics
|
|
|
|
| Metric | Value |
|
|
|--------|-------|
|
|
| Total Components | 51 |
|
|
| Total API Endpoints | 79+ |
|
|
| Total Test Cases | 373+ |
|
|
| Expected Duration | 10-20 min |
|
|
| Expected Pass Rate | 95%+ |
|
|
| Setup Time | < 1 min |
|
|
|
|
---
|
|
|
|
## Real Example
|
|
|
|
```bash
|
|
$ cd /home/overbits/dss
|
|
|
|
$ .dss/run_all_tests.sh
|
|
|
|
╔═══════════════════════════════════════════════════════════════════════════╗
|
|
║ DSS Admin UI - Complete Test Automation Suite ║
|
|
╚═══════════════════════════════════════════════════════════════════════════╝
|
|
|
|
Checking prerequisites...
|
|
✅ Python 3 found
|
|
✅ pytest available
|
|
✅ Playwright available
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
PHASE 1: Smoke Test - Component Loading
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
✅ PASS [Tools] ds-metrics-panel
|
|
✅ PASS [Tools] ds-console-viewer
|
|
✅ PASS [Layout] ds-shell
|
|
... (51 components)
|
|
|
|
✅ Phase 1 Smoke Test: PASSED
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
PHASE 2: Category-Based Testing
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
✅ PASS TestToolsCategory (5 tests)
|
|
✅ PASS TestMetricsCategory (3 tests)
|
|
✅ PASS TestLayoutCategory (5 tests)
|
|
✅ PASS TestAdminCategory (3 tests)
|
|
|
|
✅ Phase 2 Category Testing: PASSED
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
PHASE 3: API Integration Testing
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
✅ PASS TestAuthenticationEndpoints
|
|
✅ PASS TestProjectEndpoints
|
|
✅ PASS TestBrowserLogsEndpoints
|
|
✅ PASS TestFigmaEndpoints
|
|
✅ PASS TestMCPToolsEndpoints
|
|
✅ PASS test_comprehensive_api_scan
|
|
|
|
✅ Phase 3 API Testing: PASSED
|
|
|
|
╔═══════════════════════════════════════════════════════════════════════════╗
|
|
║ TEST EXECUTION SUMMARY ║
|
|
╚═══════════════════════════════════════════════════════════════════════════╝
|
|
|
|
Phase 1 - Smoke Test: PASSED
|
|
Phase 2 - Category Testing: PASSED
|
|
Phase 3 - API Testing: PASSED
|
|
|
|
Log Files:
|
|
/home/overbits/dss/.dss/test-logs/...
|
|
|
|
HTML Reports:
|
|
/home/overbits/dss/.dss/test-logs/phase1-report.html
|
|
/home/overbits/dss/.dss/test-logs/phase2-report.html
|
|
/home/overbits/dss/.dss/test-logs/phase3-report.html
|
|
|
|
✅ All tests completed successfully!
|
|
```
|
|
|
|
---
|
|
|
|
## Next Steps
|
|
|
|
1. Run tests: `.dss/run_all_tests.sh`
|
|
2. Check reports: `open .dss/test-logs/phase*-report.html`
|
|
3. Fix failures (if any): See TEST_AUTOMATION_README.md
|
|
4. Add to CI/CD: See CI/CD section in main docs
|
|
|
|
---
|
|
|
|
## Need Help?
|
|
|
|
See full documentation:
|
|
```bash
|
|
cat .dss/TEST_AUTOMATION_README.md
|
|
cat .dss/TEST_AUTOMATION_IMPLEMENTATION_COMPLETE.md
|
|
```
|
|
|
|
Or check specific phase:
|
|
```bash
|
|
pytest .dss/test_smoke_phase1.py --help
|
|
pytest .dss/test_category_phase2.py --help
|
|
pytest .dss/test_api_phase3.py --help
|
|
```
|
|
|
|
---
|
|
|
|
**Ready? Let's go!**
|
|
|
|
```bash
|
|
.dss/run_all_tests.sh
|
|
```
|