feat(admin): show when system status last refreshed
This commit is contained in:
@@ -371,6 +371,7 @@ describe('AdminSystemPage', () => {
|
||||
mockedApi.get.mockRejectedValue({ response: { status: 403 } });
|
||||
fireEvent.click(screen.getByRole('button', { name: 'Refresh' }));
|
||||
await waitFor(() => expect(screen.queryByText('Production')).not.toBeInTheDocument());
|
||||
expect(screen.queryByText('Last successful status refresh:')).not.toBeInTheDocument();
|
||||
expect(screen.queryByRole('button', { name: 'Retry' })).not.toBeInTheDocument();
|
||||
expect(screen.getByRole('button', { name: 'Run probe now' })).toBeDisabled();
|
||||
fireEvent.click(screen.getByRole('tab', { name: 'Settings' }));
|
||||
@@ -381,11 +382,20 @@ describe('AdminSystemPage', () => {
|
||||
it('keeps the last diagnostic values under a qualified refresh error', async () => {
|
||||
render(<I18nProvider><AdminSystemPage /></I18nProvider>);
|
||||
await screen.findByText('Production');
|
||||
const readTime = screen.getByText('Last successful status refresh:').parentElement?.querySelector('time');
|
||||
const original = readTime?.dateTime;
|
||||
expect(original).toMatch(/^\d{4}-\d{2}-\d{2}T.*Z$/);
|
||||
const get = mockedApi.get.getMockImplementation()!;
|
||||
mockedApi.get.mockImplementation((url: string, config?: any) => url === '/admin/system' ? Promise.reject({ response: { status: 503, data: 'Temporary failure' } }) : get(url, config));
|
||||
fireEvent.click(screen.getByRole('button', { name: 'Refresh' }));
|
||||
expect(await screen.findByText('System status could not be refreshed. Previously loaded values remain.')).toBeVisible();
|
||||
expect(screen.getByText('Production')).toBeVisible();
|
||||
expect(readTime).toBeInTheDocument();
|
||||
expect(readTime?.dateTime).toBe(original);
|
||||
mockedApi.get.mockImplementation(get);
|
||||
fireEvent.click(screen.getByRole('button', { name: 'Retry' }));
|
||||
await waitFor(() => expect(readTime?.dateTime).not.toBe(original));
|
||||
expect(screen.queryByRole('button', { name: 'Retry' })).not.toBeInTheDocument();
|
||||
expect(mockedApi.post).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user