import { screen } from '@testing-library/react'; import { render } from 'utils/testRenderer'; import { testServerRoute, testServerSetup } from 'utils/testServer'; import { PaginatedApplicationList } from './PaginatedApplicationList'; import { ApplicationSchema } from 'openapi'; const server = testServerSetup(); const setupApi = (applications: ApplicationSchema[]) => { testServerRoute(server, '/api/admin/metrics/applications', { applications, total: applications.length, }); testServerRoute(server, '/api/admin/ui-config', {}); }; test('Display applications list', async () => { setupApi([{ appName: 'myApp1' }, { appName: 'myApp2' }]); render(); await screen.findByText('myApp1'); await screen.findByText('myApp2'); const nameColumn = screen.queryAllByText('Name')[0]; nameColumn.click(); expect(window.location.href).toContain( '?offset=0&sortBy=appName&sortOrder=desc', ); }); test('Display no applications', async () => { setupApi([]); render(); await screen.findByText('Warning'); });