feat: add cv benchmark workflow and admin visibility

This commit is contained in:
2026-04-01 12:25:45 +02:00
parent 0551a525a8
commit 0d65835857
16 changed files with 832 additions and 95 deletions
@@ -43,6 +43,14 @@ describe('AdminSystemPage', () => {
gpuName: null,
ocrAvailable: true,
ocrLanguages: 'eng',
ollamaConfigured: true,
ollamaReachable: true,
ollamaModel: 'qwen2.5:7b',
ollamaModelAvailable: true,
ollamaVersion: '0.7.0',
ollamaInstalledModels: ['qwen2.5:7b', 'nomic-embed-text'],
ollamaLoadedModels: ['qwen2.5:7b'],
ollamaLoadedCount: 1,
healthLatencyMs: 12.4,
probeLatencyMs: 25.8,
lastProbeAt: '2026-03-23T10:00:00Z',
@@ -82,6 +90,15 @@ describe('AdminSystemPage', () => {
},
} as any);
}
if (url === '/admin/system/cv-benchmark') {
return Promise.resolve({
data: {
rootPath: '/data/CvBenchmarks/latest',
lastUpdatedAtUtc: '2026-03-23T10:10:00Z',
reportMarkdown: '# CV benchmark report\n\n- Files: 4',
},
} as any);
}
return Promise.resolve({ data: {} } as any);
});
mockedApi.put.mockResolvedValue({
@@ -118,6 +135,9 @@ describe('AdminSystemPage', () => {
expect(screen.getByText(/25.8 ms probe/i)).toBeTruthy();
expect(screen.getByText('OCR eng')).toBeTruthy();
expect(screen.getAllByText(/ollama configured/i).length).toBeGreaterThan(0);
expect(screen.getByText(/ollama version/i)).toBeTruthy();
expect(screen.getByText(/model · qwen2.5:7b/i)).toBeTruthy();
expect(screen.getByText(/cv benchmark review/i)).toBeTruthy();
expect(screen.getByText('OCR avg latency')).toBeTruthy();
expect(screen.getByText('88.4 ms')).toBeTruthy();
});