feat(admin): dispatch allowlisted maintenance jobs
This commit is contained in:
@@ -133,6 +133,17 @@ describe('AdminSystemPage', () => {
|
||||
},
|
||||
} as any);
|
||||
}
|
||||
if (url === '/admin/system/maintenance-jobs') {
|
||||
return Promise.resolve({
|
||||
data: [{
|
||||
id: 'cv-benchmark',
|
||||
title: 'CV extraction benchmark',
|
||||
description: 'Runs the CV corpus benchmark.',
|
||||
available: true,
|
||||
runsUrl: 'https://git.example.test/actions',
|
||||
}],
|
||||
} as any);
|
||||
}
|
||||
return Promise.resolve({ data: {} } as any);
|
||||
});
|
||||
mockedApi.put.mockResolvedValue({
|
||||
@@ -201,12 +212,25 @@ describe('AdminSystemPage', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('dispatches the allowlisted CV benchmark from the system panel', async () => {
|
||||
mockedApi.post.mockResolvedValueOnce({ data: { jobId: 'cv-benchmark', status: 'queued' } } as any);
|
||||
render(<I18nProvider><AdminSystemPage /></I18nProvider>);
|
||||
|
||||
fireEvent.click(await screen.findByRole('button', { name: /run benchmark/i }));
|
||||
|
||||
await waitFor(() => {
|
||||
expect(mockedApi.post).toHaveBeenCalledWith('/admin/system/maintenance-jobs/cv-benchmark/runs');
|
||||
});
|
||||
expect(await screen.findByText(/queued in Gitea Actions/i)).toBeTruthy();
|
||||
expect(screen.getByRole('link', { name: /view runs/i }).getAttribute('href')).toBe('https://git.example.test/actions');
|
||||
});
|
||||
|
||||
it('localizes benchmark diagnostics without changing runtime values', async () => {
|
||||
window.localStorage.setItem('uiLanguage', 'nb');
|
||||
render(<I18nProvider><AdminSystemPage /></I18nProvider>);
|
||||
|
||||
expect(await screen.findByText('Gjennomgang av CV-referansetest')).toBeTruthy();
|
||||
expect(screen.getByText(/Mistenkelig kontaktsted: san francisco, hobbies/i)).toBeTruthy();
|
||||
expect(await screen.findByText(/Mistenkelig kontaktsted: san francisco, hobbies/i)).toBeTruthy();
|
||||
expect(screen.getByText('Production')).toBeTruthy();
|
||||
expect(screen.getByText(/Modell · qwen2.5:7b/i)).toBeTruthy();
|
||||
fireEvent.click(screen.getByRole('tab', { name: /innstillinger/i }));
|
||||
|
||||
Reference in New Issue
Block a user