rtl 13 fixes for tests with type issues
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
import { useApi } from '@backstage/core-plugin-api';
|
||||
import { renderHook } from '@testing-library/react';
|
||||
import { renderHook, waitFor } from '@testing-library/react';
|
||||
import { useEvents } from './useEvents';
|
||||
import { DateTime } from 'luxon';
|
||||
|
||||
@@ -49,7 +49,7 @@ describe('Events', () => {
|
||||
mockGetEventsByInvolvedObjectName.mockResolvedValue(response),
|
||||
});
|
||||
|
||||
const { result, waitForNextUpdate } = renderHook(() =>
|
||||
const { result } = renderHook(() =>
|
||||
useEvents({
|
||||
involvedObjectName: 'some-objecgt',
|
||||
namespace: 'some-namespace',
|
||||
@@ -59,7 +59,9 @@ describe('Events', () => {
|
||||
|
||||
expect(result.current.loading).toEqual(true);
|
||||
|
||||
await waitForNextUpdate();
|
||||
await waitFor(() => {
|
||||
expect(result.current.loading).toEqual(false);
|
||||
});
|
||||
|
||||
expect(result.current.error).toBeUndefined();
|
||||
expect(result.current.loading).toEqual(false);
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
import { useCustomResources } from './useCustomResources';
|
||||
import { Entity } from '@backstage/catalog-model';
|
||||
import { renderHook } from '@testing-library/react';
|
||||
import { act, renderHook, waitFor } from '@testing-library/react';
|
||||
import { useApi } from '@backstage/core-plugin-api';
|
||||
import { CustomResourceMatcher } from '@backstage/plugin-kubernetes-common';
|
||||
import { generateAuth } from './auth';
|
||||
@@ -97,13 +97,13 @@ describe('useCustomResources', () => {
|
||||
getCustomObjectsByEntity:
|
||||
mockGetCustomObjectsByEntity.mockResolvedValue(mockResponse),
|
||||
});
|
||||
const { result, waitForNextUpdate } = renderHook(() =>
|
||||
const { result } = renderHook(() =>
|
||||
useCustomResources(entity, customResourceMatchers),
|
||||
);
|
||||
|
||||
expect(result.current.loading).toEqual(true);
|
||||
|
||||
await waitForNextUpdate();
|
||||
await act(async () => {});
|
||||
|
||||
expect(result.current.error).toBeUndefined();
|
||||
expect(result.current.loading).toEqual(false);
|
||||
@@ -117,20 +117,20 @@ describe('useCustomResources', () => {
|
||||
getCustomObjectsByEntity:
|
||||
mockGetCustomObjectsByEntity.mockResolvedValue(mockResponse),
|
||||
});
|
||||
const { result, waitForNextUpdate } = renderHook(() =>
|
||||
const { result } = renderHook(() =>
|
||||
useCustomResources(entity, customResourceMatchers, 100),
|
||||
);
|
||||
|
||||
await waitForNextUpdate();
|
||||
await act(async () => {});
|
||||
expect(result.current.error).toBeUndefined();
|
||||
|
||||
await waitForNextUpdate();
|
||||
await waitFor(() => {
|
||||
expectMocksCalledCorrectly(2);
|
||||
});
|
||||
|
||||
expect(result.current.error).toBeUndefined();
|
||||
expect(result.current.loading).toEqual(false);
|
||||
expect(result.current.kubernetesObjects).toStrictEqual(mockResponse);
|
||||
|
||||
expectMocksCalledCorrectly(2);
|
||||
});
|
||||
it('should return error when getObjectsByEntity throws', async () => {
|
||||
mockGenerateAuth.mockResolvedValue(entityWithAuthToken.auth);
|
||||
@@ -139,11 +139,11 @@ describe('useCustomResources', () => {
|
||||
message: 'some error',
|
||||
}),
|
||||
});
|
||||
const { result, waitForNextUpdate } = renderHook(() =>
|
||||
const { result } = renderHook(() =>
|
||||
useCustomResources(entity, customResourceMatchers),
|
||||
);
|
||||
|
||||
await waitForNextUpdate();
|
||||
await act(async () => {});
|
||||
|
||||
expect(result.current.error).toBe('some error');
|
||||
expect(result.current.loading).toEqual(false);
|
||||
@@ -162,17 +162,19 @@ describe('useCustomResources', () => {
|
||||
mockGetCustomObjectsByEntity.mockResolvedValue(mockResponse),
|
||||
});
|
||||
|
||||
const { result, waitForNextUpdate } = renderHook(() =>
|
||||
const { result } = renderHook(() =>
|
||||
useCustomResources(entity, customResourceMatchers, 100),
|
||||
);
|
||||
|
||||
await waitForNextUpdate();
|
||||
await act(async () => {});
|
||||
|
||||
expect(result.current.error).toBe('generateAuth failed');
|
||||
expect(result.current.loading).toEqual(false);
|
||||
expect(result.current.kubernetesObjects).toBeUndefined();
|
||||
|
||||
await waitForNextUpdate();
|
||||
await waitFor(() => {
|
||||
expect(result.current.error).toBeUndefined();
|
||||
});
|
||||
|
||||
expect(result.current.error).toBeUndefined();
|
||||
expect(result.current.loading).toEqual(false);
|
||||
@@ -186,17 +188,19 @@ describe('useCustomResources', () => {
|
||||
.mockResolvedValue(mockResponse),
|
||||
});
|
||||
|
||||
const { result, waitForNextUpdate } = renderHook(() =>
|
||||
const { result } = renderHook(() =>
|
||||
useCustomResources(entity, customResourceMatchers, 100),
|
||||
);
|
||||
|
||||
await waitForNextUpdate();
|
||||
await act(async () => {});
|
||||
|
||||
expect(result.current.error).toBe('failed to fetch');
|
||||
expect(result.current.loading).toEqual(false);
|
||||
expect(result.current.kubernetesObjects).toBeUndefined();
|
||||
|
||||
await waitForNextUpdate();
|
||||
await waitFor(() => {
|
||||
expect(result.current.error).toBeUndefined();
|
||||
});
|
||||
|
||||
expect(result.current.error).toBeUndefined();
|
||||
expect(result.current.loading).toEqual(false);
|
||||
@@ -212,17 +216,19 @@ describe('useCustomResources', () => {
|
||||
mockGetCustomObjectsByEntity.mockResolvedValue(mockResponse),
|
||||
});
|
||||
|
||||
const { result, waitForNextUpdate } = renderHook(() =>
|
||||
const { result } = renderHook(() =>
|
||||
useCustomResources(entity, customResourceMatchers, 100),
|
||||
);
|
||||
|
||||
await waitForNextUpdate();
|
||||
await act(async () => {});
|
||||
|
||||
expect(result.current.error).toBeUndefined();
|
||||
expect(result.current.loading).toEqual(false);
|
||||
expect(result.current.kubernetesObjects).not.toBeUndefined();
|
||||
|
||||
await waitForNextUpdate();
|
||||
await waitFor(() => {
|
||||
expect(result.current.error).toBeDefined();
|
||||
});
|
||||
|
||||
expect(result.current.error).toBe('generateAuth failed');
|
||||
expect(result.current.loading).toEqual(false);
|
||||
@@ -236,17 +242,19 @@ describe('useCustomResources', () => {
|
||||
.mockRejectedValue({ message: 'failed to fetch' }),
|
||||
});
|
||||
|
||||
const { result, waitForNextUpdate } = renderHook(() =>
|
||||
const { result } = renderHook(() =>
|
||||
useCustomResources(entity, customResourceMatchers, 100),
|
||||
);
|
||||
|
||||
await waitForNextUpdate();
|
||||
await act(async () => {});
|
||||
|
||||
expect(result.current.error).toBeUndefined();
|
||||
expect(result.current.loading).toEqual(false);
|
||||
expect(result.current.kubernetesObjects).not.toBeUndefined();
|
||||
|
||||
await waitForNextUpdate();
|
||||
await waitFor(() => {
|
||||
expect(result.current.error).toBeDefined();
|
||||
});
|
||||
|
||||
expect(result.current.error).toBe('failed to fetch');
|
||||
expect(result.current.loading).toEqual(false);
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
import { useApi } from '@backstage/core-plugin-api';
|
||||
import { renderHook } from '@testing-library/react';
|
||||
import { renderHook, waitFor } from '@testing-library/react';
|
||||
|
||||
import { useIsPodExecTerminalSupported } from './useIsPodExecTerminalSupported';
|
||||
|
||||
@@ -68,15 +68,14 @@ describe('useIsClusterShellEnabled', () => {
|
||||
async ({ testClusters, returnValue }) => {
|
||||
clusters = testClusters;
|
||||
|
||||
const { result, waitForNextUpdate } = renderHook(() =>
|
||||
useIsPodExecTerminalSupported(),
|
||||
);
|
||||
const { result } = renderHook(() => useIsPodExecTerminalSupported());
|
||||
|
||||
expect(result.current.loading).toEqual(true);
|
||||
|
||||
await waitForNextUpdate();
|
||||
await waitFor(() => {
|
||||
expect(result.current.loading).toEqual(false);
|
||||
});
|
||||
|
||||
expect(result.current.loading).toEqual(false);
|
||||
expect(result.current.value).toBe(returnValue);
|
||||
},
|
||||
);
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
import { useKubernetesObjects } from './useKubernetesObjects';
|
||||
import { Entity } from '@backstage/catalog-model';
|
||||
import { renderHook } from '@testing-library/react';
|
||||
import { act, renderHook, waitFor } from '@testing-library/react';
|
||||
import { useApi } from '@backstage/core-plugin-api';
|
||||
import { generateAuth } from './auth';
|
||||
|
||||
@@ -87,13 +87,13 @@ describe('useKubernetesObjects', () => {
|
||||
getObjectsByEntity:
|
||||
mockGetObjectsByEntity.mockResolvedValue(mockResponse),
|
||||
});
|
||||
const { result, waitForNextUpdate } = renderHook(() =>
|
||||
useKubernetesObjects(entity),
|
||||
);
|
||||
const { result } = renderHook(() => useKubernetesObjects(entity));
|
||||
|
||||
expect(result.current.loading).toEqual(true);
|
||||
|
||||
await waitForNextUpdate();
|
||||
await waitFor(() => {
|
||||
expect(result.current.loading).toEqual(false);
|
||||
});
|
||||
|
||||
expect(result.current.error).toBeUndefined();
|
||||
expect(result.current.loading).toEqual(false);
|
||||
@@ -107,14 +107,13 @@ describe('useKubernetesObjects', () => {
|
||||
getObjectsByEntity:
|
||||
mockGetObjectsByEntity.mockResolvedValue(mockResponse),
|
||||
});
|
||||
const { result, waitForNextUpdate } = renderHook(() =>
|
||||
useKubernetesObjects(entity, 100),
|
||||
);
|
||||
const { result } = renderHook(() => useKubernetesObjects(entity, 100));
|
||||
|
||||
await waitForNextUpdate();
|
||||
expect(result.current.error).toBeUndefined();
|
||||
|
||||
await waitForNextUpdate();
|
||||
await waitFor(() => {
|
||||
expectMocksCalledCorrectly(2);
|
||||
});
|
||||
|
||||
expect(result.current.error).toBeUndefined();
|
||||
expect(result.current.loading).toEqual(false);
|
||||
@@ -129,11 +128,9 @@ describe('useKubernetesObjects', () => {
|
||||
message: 'some error',
|
||||
}),
|
||||
});
|
||||
const { result, waitForNextUpdate } = renderHook(() =>
|
||||
useKubernetesObjects(entity),
|
||||
);
|
||||
const { result } = renderHook(() => useKubernetesObjects(entity));
|
||||
|
||||
await waitForNextUpdate();
|
||||
await act(async () => {});
|
||||
|
||||
expect(result.current.error).toBe('some error');
|
||||
expect(result.current.loading).toEqual(false);
|
||||
@@ -152,17 +149,17 @@ describe('useKubernetesObjects', () => {
|
||||
mockGetObjectsByEntity.mockResolvedValue(mockResponse),
|
||||
});
|
||||
|
||||
const { result, waitForNextUpdate } = renderHook(() =>
|
||||
useKubernetesObjects(entity, 100),
|
||||
);
|
||||
const { result } = renderHook(() => useKubernetesObjects(entity, 100));
|
||||
|
||||
await waitForNextUpdate();
|
||||
await act(async () => {});
|
||||
|
||||
expect(result.current.error).toBe('generateAuth failed');
|
||||
expect(result.current.loading).toEqual(false);
|
||||
expect(result.current.kubernetesObjects).toBeUndefined();
|
||||
|
||||
await waitForNextUpdate();
|
||||
await waitFor(() => {
|
||||
expect(result.current.error).toBeUndefined();
|
||||
});
|
||||
|
||||
expect(result.current.error).toBeUndefined();
|
||||
expect(result.current.loading).toEqual(false);
|
||||
@@ -176,17 +173,17 @@ describe('useKubernetesObjects', () => {
|
||||
.mockResolvedValue(mockResponse),
|
||||
});
|
||||
|
||||
const { result, waitForNextUpdate } = renderHook(() =>
|
||||
useKubernetesObjects(entity, 100),
|
||||
);
|
||||
const { result } = renderHook(() => useKubernetesObjects(entity, 100));
|
||||
|
||||
await waitForNextUpdate();
|
||||
await act(async () => {});
|
||||
|
||||
expect(result.current.error).toBe('failed to fetch');
|
||||
expect(result.current.loading).toEqual(false);
|
||||
expect(result.current.kubernetesObjects).toBeUndefined();
|
||||
|
||||
await waitForNextUpdate();
|
||||
await waitFor(() => {
|
||||
expect(result.current.error).toBeUndefined();
|
||||
});
|
||||
|
||||
expect(result.current.error).toBeUndefined();
|
||||
expect(result.current.loading).toEqual(false);
|
||||
@@ -202,17 +199,17 @@ describe('useKubernetesObjects', () => {
|
||||
mockGetObjectsByEntity.mockResolvedValue(mockResponse),
|
||||
});
|
||||
|
||||
const { result, waitForNextUpdate } = renderHook(() =>
|
||||
useKubernetesObjects(entity, 100),
|
||||
);
|
||||
const { result } = renderHook(() => useKubernetesObjects(entity, 100));
|
||||
|
||||
await waitForNextUpdate();
|
||||
await act(async () => {});
|
||||
|
||||
expect(result.current.error).toBeUndefined();
|
||||
expect(result.current.loading).toEqual(false);
|
||||
expect(result.current.kubernetesObjects).not.toBeUndefined();
|
||||
|
||||
await waitForNextUpdate();
|
||||
await waitFor(() => {
|
||||
expect(result.current.error).toBeDefined();
|
||||
});
|
||||
|
||||
expect(result.current.error).toBe('generateAuth failed');
|
||||
expect(result.current.loading).toEqual(false);
|
||||
@@ -226,17 +223,17 @@ describe('useKubernetesObjects', () => {
|
||||
.mockRejectedValue({ message: 'failed to fetch' }),
|
||||
});
|
||||
|
||||
const { result, waitForNextUpdate } = renderHook(() =>
|
||||
useKubernetesObjects(entity, 100),
|
||||
);
|
||||
const { result } = renderHook(() => useKubernetesObjects(entity, 100));
|
||||
|
||||
await waitForNextUpdate();
|
||||
await act(async () => {});
|
||||
|
||||
expect(result.current.error).toBeUndefined();
|
||||
expect(result.current.loading).toEqual(false);
|
||||
expect(result.current.kubernetesObjects).not.toBeUndefined();
|
||||
|
||||
await waitForNextUpdate();
|
||||
await waitFor(() => {
|
||||
expect(result.current.error).toBeDefined();
|
||||
});
|
||||
|
||||
expect(result.current.error).toBe('failed to fetch');
|
||||
expect(result.current.loading).toEqual(false);
|
||||
|
||||
Reference in New Issue
Block a user