feat: fix test collection and add collection stats display

- Fix collect_tests to use JSON report parsing (was returning 0 tests)
- Add Test Collection panel to testing dashboard showing total tests,
  unit/integration/performance breakdown, and file count
- Reorganize sidebar: create Platform Health section with Testing Hub,
  Code Quality, and Background Tasks
- Keep Developer Tools for Components and Icons only
- Platform Monitoring now contains Import Jobs and Application Logs

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-12 23:53:23 +01:00
parent 8443cc3e80
commit c60243ceff
6 changed files with 128 additions and 32 deletions

View File

@@ -153,6 +153,53 @@
</div>
</div>
<!-- Test Collection Stats -->
<div class="mb-8 p-6 bg-white rounded-lg shadow-xs dark:bg-gray-800">
<div class="flex items-center justify-between mb-4">
<h4 class="text-lg font-semibold text-gray-700 dark:text-gray-200">
Test Collection
</h4>
<span x-show="stats.last_collected" class="text-xs text-gray-500 dark:text-gray-400">
Last collected: <span x-text="stats.last_collected ? new Date(stats.last_collected).toLocaleString() : 'Never'"></span>
</span>
</div>
<template x-if="stats.collected_tests > 0">
<div class="grid gap-4 md:grid-cols-5">
<!-- Total Collected -->
<div class="text-center p-3 bg-gray-50 dark:bg-gray-700 rounded-lg">
<p class="text-2xl font-bold text-gray-700 dark:text-gray-200" x-text="stats.collected_tests">0</p>
<p class="text-xs text-gray-500 dark:text-gray-400">Total Tests</p>
</div>
<!-- Unit Tests -->
<div class="text-center p-3 bg-blue-50 dark:bg-blue-900/30 rounded-lg">
<p class="text-2xl font-bold text-blue-600 dark:text-blue-400" x-text="stats.unit_tests">0</p>
<p class="text-xs text-gray-500 dark:text-gray-400">Unit</p>
</div>
<!-- Integration Tests -->
<div class="text-center p-3 bg-purple-50 dark:bg-purple-900/30 rounded-lg">
<p class="text-2xl font-bold text-purple-600 dark:text-purple-400" x-text="stats.integration_tests">0</p>
<p class="text-xs text-gray-500 dark:text-gray-400">Integration</p>
</div>
<!-- Performance Tests -->
<div class="text-center p-3 bg-orange-50 dark:bg-orange-900/30 rounded-lg">
<p class="text-2xl font-bold text-orange-600 dark:text-orange-400" x-text="stats.performance_tests">0</p>
<p class="text-xs text-gray-500 dark:text-gray-400">Performance</p>
</div>
<!-- Test Files -->
<div class="text-center p-3 bg-green-50 dark:bg-green-900/30 rounded-lg">
<p class="text-2xl font-bold text-green-600 dark:text-green-400" x-text="stats.total_test_files">0</p>
<p class="text-xs text-gray-500 dark:text-gray-400">Files</p>
</div>
</div>
</template>
<template x-if="stats.collected_tests === 0">
<div class="text-center py-4 text-gray-500 dark:text-gray-400">
<span x-html="$icon('collection', 'w-8 h-8 mx-auto mb-2')"></span>
<p class="text-sm">No collection data. Click "Collect Tests" to discover available tests.</p>
</div>
</template>
</div>
<!-- Trend Chart and Tests by Category -->
<div class="grid gap-6 mb-8 md:grid-cols-2">
<!-- Trend Chart -->