diff --git a/frontend/src/component/application/ApplicationList/PaginatedApplicationList.test.tsx b/frontend/src/component/application/ApplicationList/PaginatedApplicationList.test.tsx new file mode 100644 index 0000000000..67d9bb3d81 --- /dev/null +++ b/frontend/src/component/application/ApplicationList/PaginatedApplicationList.test.tsx @@ -0,0 +1,36 @@ +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'); +}); diff --git a/frontend/src/component/application/ApplicationList/PaginatedApplicationList.tsx b/frontend/src/component/application/ApplicationList/PaginatedApplicationList.tsx index 9a88ab9c4b..081c0ef5d2 100644 --- a/frontend/src/component/application/ApplicationList/PaginatedApplicationList.tsx +++ b/frontend/src/component/application/ApplicationList/PaginatedApplicationList.tsx @@ -136,10 +136,6 @@ export const PaginatedApplicationList = () => { const bodyLoadingRef = useLoading(loading); - if (!data) { - return ; - } - return ( <>