feat: add testing framework and initial test cases

- Updated package.json to include Vitest and testing dependencies.
- Created test cases for SuitePicker component to validate selection logic.
- Added tests for ReportsPage to ensure correct report grouping and ordering.
- Implemented read-only enforcement tests for SuitePage to prevent actions on built-in suites.
- Introduced a setup file for Vitest to include jest-dom matchers and cleanup after tests.
- Modified ReportsPage to group reports by model and display them accordingly.
- Enhanced API types to include suite_scope and question_count for better report handling.
This commit is contained in:
Netherwarlord
2026-07-28 20:06:26 -04:00
parent 8f246fabbc
commit 7a81468925
26 changed files with 2487 additions and 168 deletions
+4
View File
@@ -186,6 +186,10 @@ export interface ReportSummary {
model_label: string
size_bytes: number
modified_at: number
/** Which suites the run covered. Empty for reports predating the scheme. */
suite_scope: string
/** How many questions it actually ran. Null for legacy reports. */
question_count: number | null
}
export interface ReportDetail extends ReportSummary {
+2 -1
View File
@@ -3,7 +3,8 @@
*
* The app has five top-level views and no data loaders, so a routing library
* would be pure overhead. This gives real URLs, working back/forward buttons
* and deep links (e.g. /reports/automated_report_Qwen.md) with no dependency.
* and deep links (e.g. /reports/Qwen3.5-9B__20260728-0318__all__26q.md) with
* no dependency.
*/
import {