Erweiterungsideen: Test-Audit (Audit 2026-02-18)
Inventar: 212 Test-Dateien, ~1.501 Test-Cases (871 Feature + 630 Unit).
Coverage-Lücken
| Bereich | Total | Getestet | Coverage | Fehlende Items |
|---|---|---|---|---|
| Jobs | 21 | 19 | 90% | RetryInactiveProfileScrape, ResolveRelatedChannelRelationship |
| Commands | 56 | 40 | 71% | 16 Commands (u.a. profiles:retry-inactive, google:sync-api-usage, watchers:backfill-admin-workspace) |
| Livewire Components | 54 | 48 | 89% | Admin/Pages/Edit, Admin/UpdateStatus/InstagramUpdateStatus, Explore/CategoryCloud, Explore/ProfileGrid, Explore/TrendingSection, Settings/TwoFactor |
| Admin Components | 22 | 11 dediziert | 68% | 7 ohne dedizierte Tests (AiEnhancements, ExploreStatus, ImportStatus, Statistics, UpdateStatus, Pages/Index, Pages/Edit) |
| Controllers | 20 | 19 | 95% | QueueAiEnhancementController |
| Middleware | 9 | 6 | 67% | EnsureCurrentWorkspace, EnsureWorkspaceFromRoute, VerifyHealthToken |
| 8 | 4 | 50% | AdminTestMail, ErrorMonitorAnomalyAlert, ErrorMonitorWeeklyReport, FeedbackReport | |
| Models | 56 | 51 | 91% | AnnouncementRead, DailyScrapeProgress, DatabaseNotification, DbSlowQueryLog, NotificationStat |
| Events/Listeners | 16 | 16 | 100% | — |
Kritische Findings
| Item | Beschreibung | Priorität |
|---|---|---|
DashboardRollupTest ::bigint ohne SQLite-Guard | tests/Feature/DashboardRollupTest.php:109 nutzt ::bigint Cast ohne markTestSkipped — bricht unter SQLite in-memory. | Hoch |
| 2 Jobs komplett ohne Tests | RetryInactiveProfileScrape (Scheduled) und ResolveRelatedChannelRelationship haben null Test-Coverage. | Hoch |
| 3 Middleware ohne Tests | EnsureCurrentWorkspace, EnsureWorkspaceFromRoute, VerifyHealthToken sind sicherheitsrelevant. | Hoch |
| 16 ungetestete Commands | Besonders Scheduled Commands: profiles:retry-inactive, google:sync-api-usage, notifications:rollup-stats, server:check-alerts, watchers:backfill-admin-workspace. | Mittel |
| 4 Mail-Klassen ohne Tests | AdminTestMail, ErrorMonitorAnomalyAlert, ErrorMonitorWeeklyReport, FeedbackReport. | Mittel |
| 3 Jobs ohne Failure-Tests | ProcessWatcherImportRun, SendNotificationEmail haben nur Happy-Path Tests. | Niedrig |
ContactLinksTest.php existiert in 2 Verzeichnissentests/Feature/Livewire/Watchers/ContactLinksTest.php. |
Location: tests/Feature/, tests/Unit/