EU-Utility/plugins/ui_test_suite
LemonNexus c7f2a62759 feat: Classy Dashboard UI with modern glassmorphism design
NEW: core/classy_dashboard.py
- Elegant, sidebar-free main interface
- Dashboard tab with widget grid layout (perfect for second monitor)
- Glassmorphism card design with subtle transparency
- Smooth animations and hover effects
- Clean tab bar: Dashboard | Plugins | Widgets | Settings
- System Status, Quick Actions, and Recent Activity widgets
- Premium dark theme with refined orange accents

Features:
- Dashboard tab for static widget placement (second monitor use)
- Elegant header with minimize/close controls
- Smooth tab transitions
- Glass cards with hover effects
- Status indicators with color coding
- Quick action buttons

INTEGRATION:
- Updated core/main.py to use classy dashboard
- Removed sidebar dependency
- Dashboard auto-shows on startup
- Toggle with Ctrl+Shift+U

Design goals:
- Classy, premium feel
- Professional for second monitor use
- No sidebar clutter
- Widget-focused layout
- Smooth, modern aesthetics
2026-02-15 18:34:49 +00:00
..
test_modules feat: Classy Dashboard UI with modern glassmorphism design 2026-02-15 18:34:49 +00:00
README.md feat: Classy Dashboard UI with modern glassmorphism design 2026-02-15 18:34:49 +00:00
TEST_RESULTS.md feat: Classy Dashboard UI with modern glassmorphism design 2026-02-15 18:34:49 +00:00
__init__.py feat: Development Swarm - Comprehensive Test Suite 2026-02-15 18:15:13 +00:00
test_suite_plugin.py feat: Development Swarm - Comprehensive Test Suite 2026-02-15 18:15:13 +00:00

README.md

EU-Utility UI Test Suite Documentation

Overview

The UI Test Suite is a comprehensive validation framework for testing all EU-Utility UI components and user flows. It provides automated testing, visual validation, and detailed bug reporting.

Installation

The test suite is located at:

/home/impulsivefps/.openclaw/workspace/projects/EU-Utility/plugins/ui_test_suite/

To enable the test suite:

  1. Open EU-Utility Settings
  2. Go to the Plugins tab
  3. Enable "UI Test Suite"
  4. Restart the overlay

Test Modules

The test suite includes 9 comprehensive test modules:

1. Overlay Window Tests 🪟

Tests main overlay window functionality:

  • Window initialization and sizing
  • Tab navigation (Plugins, Widgets, Settings)
  • Responsive sidebar behavior
  • Theme toggle functionality
  • Keyboard shortcuts (ESC, Ctrl+T, Ctrl+1-9)
  • Plugin display in sidebar
  • Window positioning and centering
  • System tray icon
  • Animation smoothness
  • Content switching between tabs/plugins

2. Activity Bar Tests 📊

Tests in-game activity bar:

  • Layout modes (Horizontal, Vertical, Grid)
  • Dragging and positioning
  • Plugin drawer functionality
  • Pinned plugins management
  • Opacity control
  • Auto-hide behavior
  • Settings dialog
  • Mini widgets support
  • Configuration persistence

3. Widget System Tests 🎨

Tests widget registry and management:

  • Registry initialization (singleton pattern)
  • Widget registration/unregistration
  • Widget creation via registry
  • Widget lookup by ID
  • Widgets by plugin filtering
  • WidgetInfo dataclass structure
  • Overlay widget creation
  • Widget positioning

4. Settings UI Tests ⚙️

Tests settings interface:

  • Settings dialog creation
  • General settings (theme, opacity)
  • Plugin management UI
  • Hotkey configuration
  • Appearance settings
  • Data and backup (export/import)
  • Updates tab
  • About tab
  • Save/Cancel functionality
  • Dependency checking integration

5. Plugin Store Tests 🔌

Tests plugin store interface:

  • Store UI creation
  • Plugin listing and display
  • Search functionality
  • Install workflow
  • Uninstall workflow
  • Dependency display
  • Category filtering
  • Refresh functionality
  • Error handling

6. Theme & Styling Tests 🎨

Tests theme consistency:

  • Color system (dark/light themes)
  • Typography system
  • Theme switching
  • Button styles (variants and sizes)
  • Input field styles
  • Table styles
  • Scrollbar styles
  • Global stylesheet
  • Component consistency
  • Accessibility colors

7. User Flow Tests 👤

Tests complete user workflows:

  • First-time user experience
  • Plugin installation workflow
  • Widget creation workflow
  • Settings change workflow
  • Hotkey functionality
  • Window positioning persistence
  • Overlay toggle flow
  • Tab navigation flow
  • Plugin drawer flow
  • Error recovery

8. Accessibility Tests

Tests accessibility features:

  • Keyboard navigation
  • Focus indicators
  • Screen reader support
  • Color contrast
  • High contrast mode
  • Shortcut hints
  • Accessible names
  • Tab order
  • Reduced motion support
  • Font scaling

9. Performance Tests

Tests UI performance:

  • Animation performance
  • Stylesheet efficiency
  • Plugin loading speed
  • Widget creation speed
  • Rendering performance
  • Memory efficiency
  • Responsive breakpoints
  • Lazy loading opportunities
  • Caching implementation
  • Optimization flags

Running Tests

Via UI

  1. Open EU-Utility overlay
  2. Select "UI Test Suite" from sidebar
  3. Click "▶ Run All Tests" to run complete suite
  4. Or select individual test module and run

Programmatically

from plugins.ui_test_suite.test_modules import OverlayWindowTests

tests = OverlayWindowTests()
for test_name, test_func in tests.tests.items():
    result = test_func()
    print(f"{test_name}: {'PASS' if result['passed'] else 'FAIL'}")
    print(f"  Message: {result['message']}")

Test Results Format

Each test returns a dictionary with:

{
    'passed': bool,          # True if test passed
    'message': str,          # Description of result
    'severity': str,         # 'error', 'warning', or 'info'
    'recommendation': str    # Optional improvement suggestion
}

Test Widgets

The test suite registers three test widgets:

1. Overlay Validator 🔍

Real-time overlay window validation widget

  • Validates window positioning
  • Checks theme consistency
  • Tests animation smoothness
  • Verifies keyboard navigation
  • Checks Z-order (always on top)

2. Theme Consistency Checker 🎨

Validates theme consistency across components

  • Displays color samples
  • Checks component styling
  • Validates dark/light themes

3. Accessibility Auditor

Validates accessibility features

  • Tests keyboard navigation
  • Checks screen reader labels
  • Validates color contrast
  • Verifies focus indicators

Interpreting Results

Console Output

  • PASS: Test passed successfully
  • FAIL: Test failed (critical issue)
  • ⚠️ Warning: Non-critical issue found

Results Tab

Shows detailed results for each test with color coding:

  • Green: Passed
  • Yellow: Warning
  • Red: Failed

Issues Tab

Lists all found issues with:

  • Module name
  • Test name
  • Severity level
  • Error message
  • Recommended fix

Common Issues and Fixes

Issue: Missing Focus Indicators

Fix: Add to stylesheet:

QPushButton:focus, QLineEdit:focus {
    outline: 2px solid #ff8c42;
    outline-offset: 2px;
}

Issue: Animation Too Slow

Fix: Reduce animation duration in AnimationHelper:

animation.setDuration(150)  # Instead of 500+

Issue: No Keyboard Shortcuts

Fix: Add to _setup_shortcuts:

shortcut = QShortcut(QKeySequence("Ctrl+X"), self)
shortcut.activated.connect(self.my_action)

Issue: Theme Not Applied

Fix: Call after theme change:

self.setStyleSheet(get_global_stylesheet())
self._refresh_ui()

Performance Benchmarks

Expected performance metrics:

  • Overlay show/hide: < 200ms
  • Tab switching: < 100ms
  • Plugin loading: < 500ms for 20 plugins
  • Widget creation: < 100ms
  • Settings save: < 300ms

Contributing

To add new tests:

  1. Create test method in appropriate module
  2. Return standard result dictionary
  3. Add to module's tests dictionary
  4. Update documentation

Bug Reporting

When reporting bugs found by the test suite, include:

  1. Test module name
  2. Test name
  3. Error message
  4. Severity level
  5. Steps to reproduce
  6. Expected vs actual behavior

Version History

  • v1.0.0 (2025-02-15): Initial release
    • 9 test modules
    • 90+ individual tests
    • 3 test widgets
    • Comprehensive documentation