diff --git a/react-components/tests/unit-tests/components/Reveal3DResources/useRemoveNonReferencedModels.test.ts b/react-components/tests/unit-tests/components/Reveal3DResources/useRemoveNonReferencedModels.test.tsx
similarity index 59%
rename from react-components/tests/unit-tests/components/Reveal3DResources/useRemoveNonReferencedModels.test.ts
rename to react-components/tests/unit-tests/components/Reveal3DResources/useRemoveNonReferencedModels.test.tsx
index d2af83fdd7c..6f44ac5ab2d 100644
--- a/react-components/tests/unit-tests/components/Reveal3DResources/useRemoveNonReferencedModels.test.ts
+++ b/react-components/tests/unit-tests/components/Reveal3DResources/useRemoveNonReferencedModels.test.tsx
@@ -1,6 +1,5 @@
import { describe, expect, test, vi, beforeEach } from 'vitest';
-
-import { Mock } from 'moq.ts';
+import React, { type JSX } from 'react';
import { renderHook } from '@testing-library/react';
@@ -12,36 +11,54 @@ import {
viewerModelsMock,
viewerRemoveModelsMock
} from '../../fixtures/viewer';
+import { Reveal3DResourcesInfoContextProvider } from '../../../../src/components/Reveal3DResources/Reveal3DResourcesInfoContext';
import { cadMock, cadModelOptions } from '../../fixtures/cadModel';
import { pointCloudMock, pointCloudModelOptions } from '../../fixtures/pointCloud';
import { image360Mock, image360Options } from '../../fixtures/image360';
+import { EMPTY_ARRAY } from '../../../../src/utilities/constants';
describe(useRemoveNonReferencedModels.name, () => {
beforeEach(() => {
vi.resetAllMocks();
});
+ const wrapper = ({ children }: { children: React.ReactNode }): JSX.Element => (
+ {children}
+ );
test('does not crash when no models are added', () => {
viewerModelsMock.mockReturnValue([]);
viewerImage360CollectionsMock.mockReturnValue([]);
- expect(() => renderHook(() => useRemoveNonReferencedModels([], viewerMock))).not.toThrow();
+ expect(() =>
+ renderHook(
+ () => {
+ useRemoveNonReferencedModels(EMPTY_ARRAY, viewerMock);
+ },
+ { wrapper }
+ )
+ ).not.toThrow();
});
test('removes models when empty ', () => {
viewerModelsMock.mockReturnValue([cadMock]);
viewerImage360CollectionsMock.mockReturnValue([]);
- renderHook(() => useRemoveNonReferencedModels([], viewerMock));
+ renderHook(
+ () => {
+ useRemoveNonReferencedModels(EMPTY_ARRAY, viewerMock);
+ },
+ { wrapper }
+ );
expect(viewerRemoveModelsMock).toHaveBeenCalledOnce();
});
test('does not remove models when in addOptions', () => {
viewerModelsMock.mockReturnValue([pointCloudMock, cadMock]);
viewerImage360CollectionsMock.mockReturnValue([image360Mock]);
- renderHook(() =>
- useRemoveNonReferencedModels(
- [cadModelOptions, pointCloudModelOptions, image360Options],
- viewerMock
- )
+ const mockAddOptions = [pointCloudModelOptions, cadModelOptions, image360Options];
+ renderHook(
+ () => {
+ useRemoveNonReferencedModels(mockAddOptions, viewerMock);
+ },
+ { wrapper }
);
expect(viewerRemoveModelsMock).not.toHaveBeenCalled();
});
@@ -49,7 +66,13 @@ describe(useRemoveNonReferencedModels.name, () => {
test('removes only relevant model', () => {
viewerModelsMock.mockReturnValue([pointCloudMock, cadMock]);
viewerImage360CollectionsMock.mockReturnValue([image360Mock]);
- renderHook(() => useRemoveNonReferencedModels([cadModelOptions, image360Options], viewerMock));
+ const mockAddOptions = [cadModelOptions, image360Options];
+ renderHook(
+ () => {
+ useRemoveNonReferencedModels(mockAddOptions, viewerMock);
+ },
+ { wrapper }
+ );
expect(viewerRemoveModelsMock).toHaveBeenCalledWith(pointCloudMock);
});
});
diff --git a/react-components/tests/unit-tests/components/RevealCanvas/hooks/useCameraStateControl.test.ts b/react-components/tests/unit-tests/components/RevealCanvas/hooks/useCameraStateControl.test.ts
index 00f1819d587..62f3faaaf50 100644
--- a/react-components/tests/unit-tests/components/RevealCanvas/hooks/useCameraStateControl.test.ts
+++ b/react-components/tests/unit-tests/components/RevealCanvas/hooks/useCameraStateControl.test.ts
@@ -4,7 +4,7 @@ import { renderHook } from '@testing-library/react';
import { viewerMock } from '../../../fixtures/viewer';
import {
- CameraStateParameters,
+ type CameraStateParameters,
useCameraStateControl
} from '../../../../../src/components/RevealCanvas/hooks/useCameraStateControl';
import { Vector3 } from 'three';
@@ -28,20 +28,24 @@ describe(useCameraStateControl.name, () => {
});
test('does nothing when inputs are undefined', () => {
- const { rerender } = renderHook(() => useCameraStateControl());
+ const { rerender } = renderHook(() => {
+ useCameraStateControl();
+ });
vi.runAllTimers();
rerender();
vi.runAllTimers();
- cameraManagerGlobalCameraEvents.cameraStop.forEach((mockCallback) =>
- expect(mockCallback).not.toBeCalled()
- );
+ cameraManagerGlobalCameraEvents.cameraStop.forEach((mockCallback) => {
+ expect(mockCallback).not.toBeCalled();
+ });
});
test('does nothing if external camera state is undefined', () => {
const setter = vi.fn();
- const { rerender } = renderHook(() => useCameraStateControl(undefined, setter));
+ const { rerender } = renderHook(() => {
+ useCameraStateControl(undefined, setter);
+ });
vi.runAllTimers();
rerender();
@@ -54,8 +58,9 @@ describe(useCameraStateControl.name, () => {
const setter = vi.fn<[CameraStateParameters | undefined], void>();
const { rerender } = renderHook(
- ({ position }: { position: Vector3 }) =>
- useCameraStateControl({ position: position.clone(), target: new Vector3(1, 1, 1) }, setter),
+ ({ position }: { position: Vector3 }) => {
+ useCameraStateControl({ position: position.clone(), target: new Vector3(1, 1, 1) }, setter);
+ },
{ initialProps: { position: new Vector3(0, 0, 0) } }
);
@@ -65,20 +70,20 @@ describe(useCameraStateControl.name, () => {
vi.runAllTimers();
expect(setter).not.toBeCalled();
- cameraManagerGlobalCameraEvents.cameraStop.forEach((mockCallback) =>
- expect(mockCallback).toBeCalledTimes(1)
- );
+ cameraManagerGlobalCameraEvents.cameraStop.forEach((mockCallback) => {
+ expect(mockCallback).toBeCalledTimes(1);
+ });
});
test('provided setter is called after updating camera state internally', () => {
const setter = vi.fn<[CameraStateParameters | undefined], void>();
- const { rerender } = renderHook(() =>
+ const { rerender } = renderHook(() => {
useCameraStateControl(
{ position: new Vector3(0, 0, 0), target: new Vector3(1, 1, 1) },
setter
- )
- );
+ );
+ });
vi.runAllTimers();
diff --git a/react-components/tests/unit-tests/fixtures/cadModel.ts b/react-components/tests/unit-tests/fixtures/cadModel.ts
index 6d9c3559164..2227193b1b6 100644
--- a/react-components/tests/unit-tests/fixtures/cadModel.ts
+++ b/react-components/tests/unit-tests/fixtures/cadModel.ts
@@ -1,4 +1,4 @@
-import { CogniteCadModel } from '@cognite/reveal';
+import { type CogniteCadModel } from '@cognite/reveal';
import { Mock } from 'moq.ts';
import { Matrix4 } from 'three';
diff --git a/react-components/tests/unit-tests/fixtures/viewer.ts b/react-components/tests/unit-tests/fixtures/viewer.ts
index 5c9f797f883..be8822cbd30 100644
--- a/react-components/tests/unit-tests/fixtures/viewer.ts
+++ b/react-components/tests/unit-tests/fixtures/viewer.ts
@@ -1,14 +1,7 @@
-import { vi, Mock as viMock } from 'vitest';
+import { vi } from 'vitest';
-import {
- CameraManagerEventType,
- Cognite3DViewer,
- CogniteModel,
- Image360Collection
-} from '@cognite/reveal';
+import { type Cognite3DViewer, type CogniteModel, type Image360Collection } from '@cognite/reveal';
import { Mock, It } from 'moq.ts';
-import { Vector3 } from 'three';
-import { remove } from 'lodash';
import { cameraManagerMock } from './cameraManager';
const domElement = document.createElement('div').appendChild(document.createElement('canvas'));
@@ -18,7 +11,9 @@ export const viewerRemoveModelsMock = vi.fn<[CogniteModel], void>();
export const viewerImage360CollectionsMock = vi.fn<[], Image360Collection[]>();
export const viewerMock = new Mock()
- .setup((viewer) => viewer.setBackgroundColor(It.IsAny()))
+ .setup((viewer) => {
+ viewer.setBackgroundColor(It.IsAny());
+ })
.returns()
.setup((viewer) => viewer.domElement)
.returns(domElement)