(useEntityListProvider.test) Add tests to omit owners filter for user and group kinds

Signed-off-by: Jona <jona@soerensen.com>
This commit is contained in:
jona
2025-04-22 15:58:35 +03:00
committed by Jona
parent b7f1d15db2
commit aac6d44cc4
@@ -32,6 +32,7 @@ import { catalogApiRef } from '../api';
import { MockStarredEntitiesApi, starredEntitiesApiRef } from '../apis';
import {
EntityKindFilter,
EntityOwnerFilter,
EntityTextFilter,
EntityTypeFilter,
EntityUserFilter,
@@ -298,6 +299,48 @@ describe('<EntityListProvider />', () => {
expect(result.current.pageInfo).toBeUndefined();
});
it('should omit owners filter when kind is "user"', async () => {
const { result } = renderHook(() => useEntityList(), {
wrapper: createWrapper({ pagination }),
});
act(() => {
result.current.updateFilters({
kind: new EntityKindFilter('user', 'User'),
owners: new EntityOwnerFilter(['user:default/guest']),
});
});
await waitFor(() => {
expect(mockCatalogApi.getEntities).toHaveBeenCalled();
});
expect(mockCatalogApi.getEntities).toHaveBeenCalledWith({
filter: { kind: 'user' },
});
});
it('should omit owners filter when kind is "group"', async () => {
const { result } = renderHook(() => useEntityList(), {
wrapper: createWrapper({ pagination }),
});
act(() => {
result.current.updateFilters({
kind: new EntityKindFilter('group', 'Group'),
owners: new EntityOwnerFilter(['group:default/team-a']),
});
});
await waitFor(() => {
expect(mockCatalogApi.getEntities).toHaveBeenCalled();
});
expect(mockCatalogApi.getEntities).toHaveBeenCalledWith({
filter: { kind: 'group' },
});
});
});
describe('<EntityListProvider pagination />', () => {
@@ -552,6 +595,52 @@ describe('<EntityListProvider pagination />', () => {
});
});
});
it('should omit owners filter when kind is "user"', async () => {
const { result } = renderHook(() => useEntityList(), {
wrapper: createWrapper({ pagination }),
});
act(() => {
result.current.updateFilters({
kind: new EntityKindFilter('user', 'User'),
owners: new EntityOwnerFilter(['user:default/guest']),
});
});
await waitFor(() => {
expect(mockCatalogApi.queryEntities).toHaveBeenCalled();
});
expect(mockCatalogApi.queryEntities).toHaveBeenCalledWith(
expect.objectContaining({
filter: { kind: 'user' },
}),
);
});
it('should omit owners filter when kind is "group"', async () => {
const { result } = renderHook(() => useEntityList(), {
wrapper: createWrapper({ pagination }),
});
act(() => {
result.current.updateFilters({
kind: new EntityKindFilter('group', 'Group'),
owners: new EntityOwnerFilter(['group:default/team-a']),
});
});
await waitFor(() => {
expect(mockCatalogApi.queryEntities).toHaveBeenCalled();
});
expect(mockCatalogApi.queryEntities).toHaveBeenCalledWith(
expect.objectContaining({
filter: { kind: 'group' },
}),
);
});
});
});
@@ -801,4 +890,50 @@ describe(`<EntityListProvider pagination={{ mode: 'offset' }} />`, () => {
expect(result.current.error).toBeDefined();
});
});
it('should omit owners filter when kind is "user"', async () => {
const { result } = renderHook(() => useEntityList(), {
wrapper: createWrapper({ pagination }),
});
act(() => {
result.current.updateFilters({
kind: new EntityKindFilter('user', 'User'),
owners: new EntityOwnerFilter(['user:default/guest']),
});
});
await waitFor(() => {
expect(mockCatalogApi.queryEntities).toHaveBeenCalled();
});
expect(mockCatalogApi.queryEntities).toHaveBeenCalledWith(
expect.objectContaining({
filter: { kind: 'user' },
}),
);
});
it('should omit owners filter when kind is "group"', async () => {
const { result } = renderHook(() => useEntityList(), {
wrapper: createWrapper({ pagination }),
});
act(() => {
result.current.updateFilters({
kind: new EntityKindFilter('group', 'Group'),
owners: new EntityOwnerFilter(['group:default/team-a']),
});
});
await waitFor(() => {
expect(mockCatalogApi.queryEntities).toHaveBeenCalled();
});
expect(mockCatalogApi.queryEntities).toHaveBeenCalledWith(
expect.objectContaining({
filter: { kind: 'group' },
}),
);
});
});