4.3 KiB
Edge Directionality Testing Checklist
Status: Ready for testing
Build: ✅ TypeScript compiles
Docs: ✅ Complete
Quick Start Testing
1. Start Dev Server
cd /Users/kempersc/apps/glam/frontend
npm run dev
# Opens at http://localhost:5173
2. Navigate to UML Viewer
Open: http://localhost:5173/uml-viewer
3. Load Test Diagram
Choose one from schemas/20251121/uml/mermaid/:
- Small:
NetworkOrganisation_20251123_225712.mmd(33 lines) - Large:
full_schema_20251123_174151.mmd(264 lines)
Test Cases
✅ Test 1: Hover Effects
Steps:
- Hover over any edge
- Observe edge, arrow, and label
Expected:
- Edge opacity: 0.7 → 1.0
- Edge width: 2px → 3px
- Arrow switches to highlight marker (30% larger)
- Label becomes bold and fully visible
Pass Criteria: All visual changes occur smoothly
✅ Test 2: Click to Reverse (Bidirectional Edges)
Steps:
- Find an association edge (filled triangle arrow)
- Hover over the edge
- Verify cursor changes to pointer
- Click the edge
Expected:
- Flash effect (edge pulses)
- Arrow reverses direction
- Source and target swap
- Label updates if it shows direction
Pass Criteria: Edge reverses with visual feedback
✅ Test 3: Click on Non-Bidirectional Edge
Steps:
- Find an inheritance edge (hollow triangle)
- Hover over the edge
- Verify cursor stays default (not pointer)
- Click the edge
Expected:
- No effect (inheritance is not reversible)
- No flash animation
- Direction stays the same
Pass Criteria: Edge ignores click (correct behavior)
✅ Test 4: Tooltips
Steps:
- Hover over a bidirectional edge (association/aggregation)
- Wait 1 second
Expected:
- Tooltip appears: "Click to reverse direction"
Steps:
- Hover over a non-bidirectional edge (inheritance/composition)
Expected:
- No tooltip (or generic tooltip without "click to reverse")
Pass Criteria: Tooltips only show on reversible edges
✅ Test 5: Layout Compatibility
Steps:
- Load a diagram with Force layout
- Test hover and click on edges
- Switch to Dagre layout
- Test hover and click again
Expected:
- All interactions work in both layouts
- No errors in browser console
Pass Criteria: Edge interactions work across all 5 layouts
✅ Test 6: Performance (Large Diagrams)
Steps:
- Load
full_schema_20251123_174151.mmd(264 lines, ~100+ edges) - Pan and zoom around the diagram
- Hover over multiple edges rapidly
- Click several bidirectional edges
Expected:
- No lag or stuttering
- Hover effects trigger smoothly (<100ms)
- Flash animations complete without frame drops
Pass Criteria: Smooth performance even with many edges
Edge Types Reference
| Edge Type | Arrow Shape | Bidirectional? | Reversible? |
|---|---|---|---|
| Association | Filled Triangle | ✅ Yes | ✅ Yes |
| Aggregation | Hollow Diamond | ✅ Yes | ✅ Yes |
| Inheritance | Hollow Triangle | ❌ No | ❌ No |
| Composition | Filled Diamond | ❌ No | ❌ No |
Browser Console Checks
No Errors Expected
Open DevTools Console (F12) and check for:
- ❌ TypeScript errors
- ❌ D3.js errors
- ❌ Marker reference errors
Expected Console Output
✅ UML diagram loaded successfully
✅ X nodes, Y edges rendered
✅ Layout algorithm: [force/dagre]
Bug Reporting Template
If you find issues, document:
**Bug**: [Brief description]
**Test Case**: Test #[number]
**Steps to Reproduce**:
1. ...
2. ...
**Expected**: [What should happen]
**Actual**: [What actually happened]
**Browser**: [Chrome/Firefox/Safari version]
**Console Errors**: [Copy error messages]
**Screenshot**: [If applicable]
Success Criteria
Feature is production-ready if:
- ✅ All 6 test cases pass
- ✅ No console errors
- ✅ Smooth performance on large diagrams
- ✅ User finds interactions intuitive
Next: After testing, either:
- If bugs found: Create bug report, fix issues
- If all pass: Mark feature complete, move to Phase 2
- If user feedback needed: Share with GLAM project users
Documentation: See EDGE_DIRECTIONALITY_QUICK_GUIDE.md for user reference