add test for count

Signed-off-by: Aramis <sennyeyaramis@gmail.com>
Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>
This commit is contained in:
Aramis
2024-01-25 19:36:33 -05:00
committed by aramissennyeydd
parent 72b88270e0
commit b4d3b5f880
2 changed files with 33 additions and 2 deletions
@@ -71,6 +71,7 @@ export function MockEntityListContextProvider<
loading: value?.loading ?? false,
queryParameters: value?.queryParameters ?? defaultValues.queryParameters,
error: value?.error,
count: (value?.entities ?? defaultValues.entities).length,
}),
[value, defaultValues, filters, updateFilters],
);
@@ -14,14 +14,16 @@
* limitations under the License.
*/
import React, { ReactNode } from 'react';
import { fireEvent, render } from '@testing-library/react';
import { fireEvent, render, waitFor } from '@testing-library/react';
import { PaginatedCatalogTable } from './PaginatedCatalogTable';
import { screen } from '@testing-library/react';
import { CatalogTableRow } from './types';
import { renderInTestApp } from '@backstage/test-utils';
import {
EntityKindFilter,
MockEntityListContextProvider,
DefaultEntityFilters,
EntityListContextProps,
MockEntityListContextProvider,
} from '@backstage/plugin-catalog-react';
describe('PaginatedCatalogTable', () => {
@@ -134,4 +136,32 @@ describe('PaginatedCatalogTable', () => {
fireEvent.click(prevButton);
expect(fn).toHaveBeenCalled();
});
it('should display entity names when loading has finished and no error occurred', async () => {
await renderInTestApp(
<MockEntityListContextProvider
value={{
entities: data.map(e => e.entity),
count: data.length,
filters: {
kind: new EntityKindFilter('component'),
},
}}
>
<PaginatedCatalogTable
data={data}
columns={columns}
next={undefined}
title="My title"
/>
</MockEntityListContextProvider>,
);
expect(screen.getByText(/component-0/)).toBeInTheDocument();
expect(screen.getByText(/component-50/)).toBeInTheDocument();
expect(screen.getByText(/component-99/)).toBeInTheDocument();
await waitFor(() => {
expect(screen.getByText(/My title/)).toBeInTheDocument();
});
});
});