mirror of
https://github.com/grafana/grafana.git
synced 2025-02-13 09:05:45 -06:00
* Add and configure eslint-plugin-import * Fix the lint:ts npm command * Autofix + prettier all the files * Manually fix remaining files * Move jquery code in jest-setup to external file to safely reorder imports * Resolve issue caused by circular dependencies within Prometheus * Update .betterer.results * Fix missing // @ts-ignore * ignore iconBundle.ts * Fix missing // @ts-ignore
50 lines
1.5 KiB
TypeScript
50 lines
1.5 KiB
TypeScript
import { render, screen } from '@testing-library/react';
|
|
import React from 'react';
|
|
|
|
import { ServerStats } from './ServerStats';
|
|
import { ServerStat } from './state/apis';
|
|
|
|
const stats: ServerStat = {
|
|
activeAdmins: 1,
|
|
activeEditors: 0,
|
|
activeSessions: 1,
|
|
activeUsers: 1,
|
|
activeViewers: 0,
|
|
admins: 1,
|
|
alerts: 5,
|
|
dashboards: 1599,
|
|
datasources: 54,
|
|
editors: 2,
|
|
orgs: 1,
|
|
playlists: 1,
|
|
snapshots: 1,
|
|
stars: 3,
|
|
tags: 42,
|
|
users: 5,
|
|
viewers: 2,
|
|
};
|
|
|
|
jest.mock('./state/apis', () => ({
|
|
getServerStats: async () => stats,
|
|
}));
|
|
jest.mock('../../core/services/context_srv', () => ({
|
|
contextSrv: {
|
|
hasAccess: () => true,
|
|
},
|
|
}));
|
|
|
|
describe('ServerStats', () => {
|
|
it('Should render page with stats', async () => {
|
|
render(<ServerStats />);
|
|
expect(await screen.findByRole('heading', { name: /instance statistics/i })).toBeInTheDocument();
|
|
expect(screen.getByText('Dashboards (starred)')).toBeInTheDocument();
|
|
expect(screen.getByText('Tags')).toBeInTheDocument();
|
|
expect(screen.getByText('Playlists')).toBeInTheDocument();
|
|
expect(screen.getByText('Snapshots')).toBeInTheDocument();
|
|
expect(screen.getByRole('link', { name: 'Manage dashboards' })).toBeInTheDocument();
|
|
expect(screen.getByRole('link', { name: 'Manage data sources' })).toBeInTheDocument();
|
|
expect(screen.getByRole('link', { name: 'Alerts' })).toBeInTheDocument();
|
|
expect(screen.getByRole('link', { name: 'Manage users' })).toBeInTheDocument();
|
|
});
|
|
});
|