Add tests for modal opening/closing, event handling, data passing, validation, nested modals, and lifecycle management. Tests use isolated test double components to verify modal behaviour patterns used throughout core-admin. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
8.9 KiB
Core-Admin TODO
Testing & Quality Assurance
High Priority
-
Test Coverage: Search System - Test global search functionality
- Test SearchProviderRegistry with multiple providers
- Test search execution and result aggregation
- Test fuzzy matching and relevance scoring
- Test SearchResult creation, conversion, and immutability
- Test workspace-scoped search results
- Completed: January 2026
- File:
tests/Feature/Search/SearchProviderRegistryTest.php
-
Test Coverage: Form Components - Test authorization props
- Test Button component with :can/:cannot props
- Test Input component with authorization
- Test Select/Checkbox/Toggle with permissions
- Test workspace context in form components
- Completed: January 2026
- File:
tests/Feature/Forms/AuthorizationTest.php
-
Test Coverage: Livewire Modals - Test modal system
- Test modal opening/closing
- Test validation in modals
- Test nested modals
- Test modal events and lifecycle
- Test modal data passing
- Completed: January 2026
- File:
tests/Feature/Modal/LivewireModalTest.php
Medium Priority
-
Test Coverage: Admin Menu System - Test menu building
- Test AdminMenuRegistry with multiple providers
- Test MenuItemBuilder with badges
- Test menu authorization (can/canAny)
- Test menu active state detection
- Test IconValidator
- Completed: January 2026
- File:
tests/Feature/Menu/AdminMenuSystemTest.php
-
Test Coverage: HLCRF Components - Test layout system
- Test HierarchicalLayoutBuilder parsing
- Test nested layout rendering
- Test self-documenting IDs (H-0, C-R-2, etc.)
- Test responsive breakpoints
- Estimated effort: 4-5 hours
Low Priority
- Test Coverage: Teapot/Honeypot - Test anti-spam
- Test TeapotController honeypot detection
- Test HoneypotHit recording
- Test automatic IP blocking
- Test bot detection patterns
- Test severity classification
- Test rate limiting for log flooding prevention
- Test header sanitization
- Test model scopes and statistics
- Completed: January 2026
- File:
tests/Feature/Honeypot/TeapotTest.php
Features & Enhancements
High Priority
-
Feature: Data Tables Component - Reusable admin tables
- Create sortable table component
- Add bulk action support
- Implement column filtering
- Add export to CSV/Excel
- Test with large datasets (1000+ rows)
- Estimated effort: 6-8 hours
- Files:
src/Admin/Tables/
-
Feature: Dashboard Widgets - Composable dashboard
- Create widget system with layouts
- Add drag-and-drop widget arrangement
- Implement widget state persistence
- Create common widgets (stats, charts, lists)
- Test widget refresh and real-time updates
- Estimated effort: 8-10 hours
- Files:
src/Admin/Dashboard/
-
Feature: Notification Center - In-app notifications
- Create notification inbox component
- Add real-time notification delivery
- Implement notification preferences
- Add notification grouping
- Test with high notification volume
- Estimated effort: 6-8 hours
- Files:
src/Admin/Notifications/
Medium Priority
-
Enhancement: Form Builder - Dynamic form generation
- Create form builder UI
- Support custom field types
- Add conditional field visibility
- Implement form templates
- Test complex multi-step forms
- Estimated effort: 8-10 hours
- Files:
src/Forms/Builder/
-
Enhancement: Activity Feed Component - Visual activity log
- Create activity feed Livewire component
- Add filtering by event type/user/date
- Implement infinite scroll
- Add export functionality
- Test with large activity logs
- Estimated effort: 4-5 hours
- Files:
src/Activity/Components/
-
Enhancement: File Manager - Media browser
- Create file browser component
- Add upload with drag-and-drop
- Implement folder organization
- Add image preview and editing
- Test with S3/CDN integration
- Estimated effort: 10-12 hours
- Files:
src/Media/Manager/
Low Priority
-
Enhancement: Theme Customizer - Visual theme editor
- Create color picker for brand colors
- Add font selection
- Implement logo upload
- Add CSS custom property generation
- Test theme persistence per workspace
- Estimated effort: 6-8 hours
- Files:
src/Theming/
-
Enhancement: Keyboard Shortcuts - Power user features
- Implement global shortcut system
- Add command palette (Cmd+K)
- Create shortcut configuration UI
- Add accessibility support
- Estimated effort: 4-5 hours
- Files:
src/Shortcuts/
Security & Authorization
-
Audit: Admin Route Security - Verify all admin routes protected
- Audit all admin controllers for authorization
- Ensure #[Action] attributes on sensitive operations
- Verify middleware chains
- Test unauthorized access attempts
- Estimated effort: 3-4 hours
-
Enhancement: Action Audit Log - Track admin actions
- Log all admin operations
- Track who/what/when for compliance
- Add audit log viewer
- Implement tamper-proof logging
- Estimated effort: 4-5 hours
- Files:
src/Audit/
Documentation
-
Guide: Creating Admin Panels - Step-by-step guide
- Document menu registration
- Show modal creation examples
- Explain authorization integration
- Add complete example module
- Completed: January 2026
- File:
docs/packages/admin/creating-admin-panels.md
-
Guide: HLCRF Deep Dive - Advanced layout patterns
- Document all layout combinations
- Show responsive design patterns
- Explain ID system in detail
- Add complex real-world examples
- Completed: January 2026
- File:
docs/packages/admin/hlcrf-deep-dive.md
-
API Reference: Components - Component prop documentation
- Document all form component props
- Add prop validation rules
- Show authorization prop examples
- Include accessibility notes
- Completed: January 2026
- File:
docs/packages/admin/components-reference.md
Code Quality
-
Refactor: Extract Modal Manager - Separate concerns
- Extract modal state management
- Create dedicated ModalManager service
- Add modal queue support
- Test modal lifecycle
- Estimated effort: 3-4 hours
-
Refactor: Standardize Component Props - Consistent API
- Audit all component props
- Standardize naming (can/cannot/canAny)
- Add prop validation
- Update documentation
- Estimated effort: 2-3 hours
-
PHPStan: Fix Level 5 Errors - Improve type safety
- Fix property type declarations
- Add missing return types
- Fix array shape types
- Estimated effort: 2-3 hours
Performance
-
Optimization: Search Indexing - Faster admin search
- Profile search performance
- Add search result caching
- Implement debounced search
- Optimize query building
- Estimated effort: 2-3 hours
-
Optimization: Menu Rendering - Reduce menu overhead
- Cache menu structure
- Lazy load menu icons
- Optimize authorization checks
- Estimated effort: 1-2 hours
Completed (January 2026)
- Forms: Authorization Props - Added :can/:cannot/:canAny to all form components
- Search: Provider System - Global search with multiple providers
- Search: Analytics - Track search queries and results
- Documentation - Complete admin package documentation
- Guide: Creating Admin Panels - Menu registration, modals, authorization, example module
- Guide: HLCRF Deep Dive - Layout combinations, ID system, responsive patterns
- API Reference: Components - Form component props with authorization examples
- Test Coverage: Form Components - Authorization props testing for Button/Input/Select/Checkbox/Toggle/Textarea (52 tests)
- Test Coverage: Admin Menu System - AdminMenuRegistry, MenuItemBuilder, MenuItemGroup, IconValidator tests
- Test Coverage: Teapot/Honeypot - Bot detection, severity classification, rate limiting, header sanitization, model scopes (40+ tests)
- Test Coverage: Search System - SearchProviderRegistry, search execution, result aggregation, fuzzy matching, relevance scoring, SearchResult tests (60+ tests)
- Test Coverage: Livewire Modals - Modal opening/closing, events, data passing, validation, nested modals, lifecycle (50+ tests)
See changelog/2026/jan/ for completed features.