From ce0151fdace27b6675985a90ebd28220bffa0e01 Mon Sep 17 00:00:00 2001 From: An Phi Date: Wed, 27 Apr 2022 13:47:24 -0400 Subject: [PATCH] use @jest/globals --- package.json | 1 - packages/legend-application/package.json | 2 +- .../ApplicationStoreProviderTestUtils.tsx | 1 + ...bApplicationNavigatorProviderTestUtils.tsx | 1 + packages/legend-art/package.json | 2 +- .../src/testMocks/MonacoEditorMockUtils.tsx | 2 + packages/legend-dev-utils/JestConfigUtils.js | 3 + .../__tests__/TypescriptConfigUtils.test.js | 1 + .../jest/setupJestExpectExtension.js | 1 + .../jest/setupTestEnvironment.js | 2 + packages/legend-dev-utils/package.json | 1 + .../package.json | 2 +- .../__tests__/DSLDataSpace_Roundtrip.test.ts | 1 + .../legend-extension-dsl-diagram/package.json | 2 +- .../__tests__/ClassDiagramPreview.test.tsx | 1 + .../__tests__/DSLDiagram_BuildFailure.test.ts | 1 + .../__tests__/DSLDiagram_Roundtrip.test.ts | 1 + .../package.json | 2 +- .../DSLPersistence_Roundtrip.test.ts | 1 + .../legend-extension-dsl-text/package.json | 2 +- .../__tests__/DSLText_Roundtrip.test.ts | 1 + .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../__tests__/ESService_Roundtrip.test.ts | 1 + .../package.json | 2 +- .../package.json | 2 +- packages/legend-graph/package.json | 2 +- .../src/GraphManagerTestUtils.tsx | 15 ++-- .../__tests__/ExecutionPlanRountrip.test.ts | 1 + .../ImportResolutionRoundtrip.test.ts | 1 + .../src/__tests__/Inference.test.ts | 30 +++++--- .../src/__tests__/MetaModelUtils.test.ts | 1 + .../PackageableElementReference.test.ts | 1 + .../DSLExternalFormat_Roundtrip.test.ts | 1 + .../__tests__/buildGraph/Dependency.test.ts | 6 +- .../__tests__/buildGraph/Generation.test.ts | 5 +- .../buildGraph/GraphBuildFailure.test.ts | 1 + .../buildGraph/GraphBuildSuccess.test.ts | 1 + .../buildGraph/RawLambaPathResolver.test.ts | 1 + .../FileGenerationBuildSuccess.test.ts | 1 + .../relational/EmbeddedRelational.test.ts | 1 + .../InlineEmbeddedRelational.test.ts | 1 + .../OtherwiseEmbeddedRelational.test.ts | 1 + ...ertyThroughAssociationGraphSuccess.test.ts | 1 + .../SimpleRelationalGraphBuildSuccess.test.ts | 1 + .../helpers/__tests__/DomainHelper.test.ts | 1 + .../__tests__/PureLanguageHelper.test.ts | 1 + .../V1_GraphBuilderExtensions.test.ts | 1 + .../V1_ValueSpecificationBuilder.test.ts | 1 + packages/legend-manual-tests/package.json | 2 +- .../RoundtripGrammarMismatch.test.ts | 4 +- .../ProfilingGraphBuilding.test.ts | 4 +- .../RoundtripGrammar.test.ts | 15 ++-- packages/legend-model-storage/package.json | 2 +- packages/legend-query/package.json | 2 +- .../components/QueryComponentTestUtils.tsx | 8 +- .../QueryBuilder_FetchStructure.test.tsx | 1 + .../QueryBuilder_BuildLambdaFailure.test.tsx | 1 + ...QueryBuilder_BuildLambdaRoundtrip.test.tsx | 5 +- .../QueryBuilder_ExplorerState.test.ts | 6 +- ...yBuilder_LambdaProcessingRoundtrip.test.ts | 1 + packages/legend-server-depot/package.json | 2 +- .../src/DepotServerClientTestUtils.tsx | 1 + .../src/__tests__/DepotUtils.test.ts | 1 + packages/legend-server-sdlc/package.json | 2 +- .../src/SDLCServerClientTestUtils.tsx | 1 + packages/legend-shared/package.json | 2 +- .../src/__tests__/CommonUtils.test.ts | 1 + .../src/__tests__/RandomizerUtils.test.ts | 1 + .../src/application/TestUtils.ts | 19 ----- .../error/__tests__/AssertionUtils.test.ts | 1 + .../format/__tests__/FormatterUtils.test.ts | 1 + .../package.json | 2 +- .../package.json | 2 +- .../QueryBuilder_StudioPlugin.test.tsx | 25 ++++-- packages/legend-studio/package.json | 2 +- .../components/EditorComponentTestUtils.tsx | 13 ++-- .../LegendStudioApplication.test.tsx | 4 +- .../edit-panel/__tests__/EditPanel.test.tsx | 1 + .../ProjectConfigurationEditor.test.tsx | 1 + .../EnumerationMappingEditor.test.tsx | 1 + .../ServiceRegistrationTest.test.tsx | 1 + .../uml-editor/__tests__/UMLEditor.test.tsx | 1 + .../__tests__/CreateNewElement.test.tsx | 1 + .../side-bar/__tests__/Explorer.test.tsx | 1 + .../components/setup/__tests__/Setup.test.tsx | 1 + .../stores/__tests__/ChangeDetection.test.ts | 1 + .../ProjectDependencyManager.test.ts | 5 +- .../shared/__tests__/MockDataUtil.test.ts | 18 +++-- .../__tests__/LocalChangeState.test.ts | 6 +- packages/legend-taxonomy/package.json | 2 +- .../package.json | 2 +- yarn.lock | 76 +++++++------------ 94 files changed, 221 insertions(+), 146 deletions(-) diff --git a/package.json b/package.json index a30dee4f..62a4151d 100644 --- a/package.json +++ b/package.json @@ -91,7 +91,6 @@ "@finos/eslint-plugin-legend-studio": "workspace:*", "@finos/legend-dev-utils": "workspace:*", "@finos/stylelint-config-legend-studio": "workspace:*", - "@types/jest": "27.4.1", "@types/node": "17.0.29", "chalk": "5.0.1", "cross-env": "7.0.3", diff --git a/packages/legend-application/package.json b/packages/legend-application/package.json index d3ac4b78..3f3c0bf6 100644 --- a/packages/legend-application/package.json +++ b/packages/legend-application/package.json @@ -60,9 +60,9 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", + "@jest/globals": "28.0.2", "cross-env": "7.0.3", "eslint": "8.14.0", - "jest": "28.0.2", "npm-run-all": "4.1.5", "rimraf": "3.0.2", "sass": "1.51.0", diff --git a/packages/legend-application/src/components/ApplicationStoreProviderTestUtils.tsx b/packages/legend-application/src/components/ApplicationStoreProviderTestUtils.tsx index d995ec9e..467b6b2c 100644 --- a/packages/legend-application/src/components/ApplicationStoreProviderTestUtils.tsx +++ b/packages/legend-application/src/components/ApplicationStoreProviderTestUtils.tsx @@ -14,6 +14,7 @@ * limitations under the License. */ +import { jest } from '@jest/globals'; import { createMemoryHistory } from 'history'; import { ApplicationStore } from '../stores/ApplicationStore'; import { WebApplicationNavigator } from '../stores/WebApplicationNavigator'; diff --git a/packages/legend-application/src/components/WebApplicationNavigatorProviderTestUtils.tsx b/packages/legend-application/src/components/WebApplicationNavigatorProviderTestUtils.tsx index 54387565..6df2e4d6 100644 --- a/packages/legend-application/src/components/WebApplicationNavigatorProviderTestUtils.tsx +++ b/packages/legend-application/src/components/WebApplicationNavigatorProviderTestUtils.tsx @@ -14,6 +14,7 @@ * limitations under the License. */ +import { jest } from '@jest/globals'; import { WebApplicationNavigator } from '../stores/WebApplicationNavigator'; import { createMemoryHistory, type History } from 'history'; diff --git a/packages/legend-art/package.json b/packages/legend-art/package.json index 17029bc5..d46e5d63 100644 --- a/packages/legend-art/package.json +++ b/packages/legend-art/package.json @@ -75,9 +75,9 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", + "@jest/globals": "28.0.2", "cross-env": "7.0.3", "eslint": "8.14.0", - "jest": "28.0.2", "npm-run-all": "4.1.5", "rimraf": "3.0.2", "sass": "1.51.0", diff --git a/packages/legend-art/src/testMocks/MonacoEditorMockUtils.tsx b/packages/legend-art/src/testMocks/MonacoEditorMockUtils.tsx index 11bca115..e8536f81 100644 --- a/packages/legend-art/src/testMocks/MonacoEditorMockUtils.tsx +++ b/packages/legend-art/src/testMocks/MonacoEditorMockUtils.tsx @@ -14,6 +14,8 @@ * limitations under the License. */ +import { jest } from '@jest/globals'; + /** * NOTE: we have tried different ways to mock `monaco-editor`. But those ways often involve * trying to load `monaco-editor` from `node_modules` and that takes a long time, so we'd better just mock diff --git a/packages/legend-dev-utils/JestConfigUtils.js b/packages/legend-dev-utils/JestConfigUtils.js index 40818e60..832e8738 100644 --- a/packages/legend-dev-utils/JestConfigUtils.js +++ b/packages/legend-dev-utils/JestConfigUtils.js @@ -41,6 +41,9 @@ export const getBaseConfig = ({ babelConfigPath }) => ({ // NOTE: we should not need this right now, but we leave this here just in case '\\.(svg|css|scss)$': '@finos/legend-dev-utils/mocks/fileMock', }, + // Force using `@jest/globals` instead of assuming `Jest` available globally + // See https://jestjs.io/docs/configuration#injectglobals-boolean + injectGlobals: false, // Since each test should be independent, we automatically restore mock state before every test // NOTE: only works for `jest.spyOn` and not `jest.fn()` // See https://jestjs.io/docs/en/configuration#restoremocks-boolean diff --git a/packages/legend-dev-utils/__tests__/TypescriptConfigUtils.test.js b/packages/legend-dev-utils/__tests__/TypescriptConfigUtils.test.js index cf92c25b..31613ce7 100644 --- a/packages/legend-dev-utils/__tests__/TypescriptConfigUtils.test.js +++ b/packages/legend-dev-utils/__tests__/TypescriptConfigUtils.test.js @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect } from '@jest/globals'; import { resolve } from 'path'; import { getTsConfigJSON, diff --git a/packages/legend-dev-utils/jest/setupJestExpectExtension.js b/packages/legend-dev-utils/jest/setupJestExpectExtension.js index 83e50570..2197fc59 100644 --- a/packages/legend-dev-utils/jest/setupJestExpectExtension.js +++ b/packages/legend-dev-utils/jest/setupJestExpectExtension.js @@ -14,6 +14,7 @@ * limitations under the License. */ +import { expect } from '@jest/globals'; import { toContainKeys, toContainAllKeys, diff --git a/packages/legend-dev-utils/jest/setupTestEnvironment.js b/packages/legend-dev-utils/jest/setupTestEnvironment.js index c4602221..712f52e2 100644 --- a/packages/legend-dev-utils/jest/setupTestEnvironment.js +++ b/packages/legend-dev-utils/jest/setupTestEnvironment.js @@ -14,6 +14,8 @@ * limitations under the License. */ +import { jest } from '@jest/globals'; + // Increase timeout for some long running tests jest.setTimeout(10000); // Runs failed tests n-times until they pass or until the max number of retries is exhausted. diff --git a/packages/legend-dev-utils/package.json b/packages/legend-dev-utils/package.json index 5adc4684..ddf01afe 100644 --- a/packages/legend-dev-utils/package.json +++ b/packages/legend-dev-utils/package.json @@ -58,6 +58,7 @@ "@changesets/logger": "0.0.5", "@changesets/read": "0.5.5", "@changesets/write": "0.1.8", + "@jest/globals": "28.0.2", "@juggle/resize-observer": "3.3.1", "@manypkg/get-packages": "1.1.3", "@pmmmwh/react-refresh-webpack-plugin": "0.5.5", diff --git a/packages/legend-extension-dsl-data-space/package.json b/packages/legend-extension-dsl-data-space/package.json index 9206b436..3c70a7a0 100644 --- a/packages/legend-extension-dsl-data-space/package.json +++ b/packages/legend-extension-dsl-data-space/package.json @@ -59,9 +59,9 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", + "@jest/globals": "28.0.2", "cross-env": "7.0.3", "eslint": "8.14.0", - "jest": "28.0.2", "npm-run-all": "4.1.5", "rimraf": "3.0.2", "sass": "1.51.0", diff --git a/packages/legend-extension-dsl-data-space/src/models/__tests__/DSLDataSpace_Roundtrip.test.ts b/packages/legend-extension-dsl-data-space/src/models/__tests__/DSLDataSpace_Roundtrip.test.ts index 4130d313..18a2babc 100644 --- a/packages/legend-extension-dsl-data-space/src/models/__tests__/DSLDataSpace_Roundtrip.test.ts +++ b/packages/legend-extension-dsl-data-space/src/models/__tests__/DSLDataSpace_Roundtrip.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test } from '@jest/globals'; import type { Entity } from '@finos/legend-model-storage'; import { unitTest } from '@finos/legend-shared'; import { TEST_DATA__roundtrip } from './TEST_DATA__DSLDataSpace_Roundtrip'; diff --git a/packages/legend-extension-dsl-diagram/package.json b/packages/legend-extension-dsl-diagram/package.json index 30a0350a..f552be92 100644 --- a/packages/legend-extension-dsl-diagram/package.json +++ b/packages/legend-extension-dsl-diagram/package.json @@ -57,10 +57,10 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", + "@jest/globals": "28.0.2", "@testing-library/react": "12.1.5", "cross-env": "7.0.3", "eslint": "8.14.0", - "jest": "28.0.2", "jest-canvas-mock": "2.3.1", "npm-run-all": "4.1.5", "rimraf": "3.0.2", diff --git a/packages/legend-extension-dsl-diagram/src/components/studio/__tests__/ClassDiagramPreview.test.tsx b/packages/legend-extension-dsl-diagram/src/components/studio/__tests__/ClassDiagramPreview.test.tsx index cf59b66d..6250e9c4 100644 --- a/packages/legend-extension-dsl-diagram/src/components/studio/__tests__/ClassDiagramPreview.test.tsx +++ b/packages/legend-extension-dsl-diagram/src/components/studio/__tests__/ClassDiagramPreview.test.tsx @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test } from '@jest/globals'; import { waitFor } from '@testing-library/react'; import { integrationTest } from '@finos/legend-shared'; import { diff --git a/packages/legend-extension-dsl-diagram/src/models/__tests__/DSLDiagram_BuildFailure.test.ts b/packages/legend-extension-dsl-diagram/src/models/__tests__/DSLDiagram_BuildFailure.test.ts index 9103cbaa..02abab32 100644 --- a/packages/legend-extension-dsl-diagram/src/models/__tests__/DSLDiagram_BuildFailure.test.ts +++ b/packages/legend-extension-dsl-diagram/src/models/__tests__/DSLDiagram_BuildFailure.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect } from '@jest/globals'; import { unitTest } from '@finos/legend-shared'; import type { Entity } from '@finos/legend-model-storage'; import { DSLDiagram_GraphPreset } from '../../DSLDiagram_Extension'; diff --git a/packages/legend-extension-dsl-diagram/src/models/__tests__/DSLDiagram_Roundtrip.test.ts b/packages/legend-extension-dsl-diagram/src/models/__tests__/DSLDiagram_Roundtrip.test.ts index b5926ff5..8b4d6322 100644 --- a/packages/legend-extension-dsl-diagram/src/models/__tests__/DSLDiagram_Roundtrip.test.ts +++ b/packages/legend-extension-dsl-diagram/src/models/__tests__/DSLDiagram_Roundtrip.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test } from '@jest/globals'; import type { Entity } from '@finos/legend-model-storage'; import { unitTest } from '@finos/legend-shared'; import { TEST_DATA__roundtrip } from './TEST_DATA__DSLDiagram_Roundtrip'; diff --git a/packages/legend-extension-dsl-persistence/package.json b/packages/legend-extension-dsl-persistence/package.json index 69db13a0..fa397aaa 100644 --- a/packages/legend-extension-dsl-persistence/package.json +++ b/packages/legend-extension-dsl-persistence/package.json @@ -52,9 +52,9 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", + "@jest/globals": "28.0.2", "cross-env": "7.0.3", "eslint": "8.14.0", - "jest": "28.0.2", "npm-run-all": "4.1.5", "rimraf": "3.0.2", "sass": "1.51.0", diff --git a/packages/legend-extension-dsl-persistence/src/models/__tests__/DSLPersistence_Roundtrip.test.ts b/packages/legend-extension-dsl-persistence/src/models/__tests__/DSLPersistence_Roundtrip.test.ts index f549ba74..457f7f56 100644 --- a/packages/legend-extension-dsl-persistence/src/models/__tests__/DSLPersistence_Roundtrip.test.ts +++ b/packages/legend-extension-dsl-persistence/src/models/__tests__/DSLPersistence_Roundtrip.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test } from '@jest/globals'; import { DSLPersistence_GraphPreset } from '../../DSLPersistence_Extension'; import { TEST_DATA__roundtrip } from './TEST_DATA__DSLPersistence_Roundtrip'; import { diff --git a/packages/legend-extension-dsl-text/package.json b/packages/legend-extension-dsl-text/package.json index e8fff5b5..c635275c 100644 --- a/packages/legend-extension-dsl-text/package.json +++ b/packages/legend-extension-dsl-text/package.json @@ -54,9 +54,9 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", + "@jest/globals": "28.0.2", "cross-env": "7.0.3", "eslint": "8.14.0", - "jest": "28.0.2", "npm-run-all": "4.1.5", "rimraf": "3.0.2", "sass": "1.51.0", diff --git a/packages/legend-extension-dsl-text/src/models/__tests__/DSLText_Roundtrip.test.ts b/packages/legend-extension-dsl-text/src/models/__tests__/DSLText_Roundtrip.test.ts index 173698f9..ba18f28d 100644 --- a/packages/legend-extension-dsl-text/src/models/__tests__/DSLText_Roundtrip.test.ts +++ b/packages/legend-extension-dsl-text/src/models/__tests__/DSLText_Roundtrip.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test } from '@jest/globals'; import type { Entity } from '@finos/legend-model-storage'; import { unitTest } from '@finos/legend-shared'; import { TEST_DATA__roundtrip } from './TEST_DATA__DSLText_Roundtrip'; diff --git a/packages/legend-extension-external-format-json-schema/package.json b/packages/legend-extension-external-format-json-schema/package.json index 8cf34614..46ee5ddb 100644 --- a/packages/legend-extension-external-format-json-schema/package.json +++ b/packages/legend-extension-external-format-json-schema/package.json @@ -44,9 +44,9 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", + "@jest/globals": "28.0.2", "cross-env": "7.0.3", "eslint": "8.14.0", - "jest": "28.0.2", "npm-run-all": "4.1.5", "rimraf": "3.0.2", "typescript": "4.6.3" diff --git a/packages/legend-extension-external-language-morphir/package.json b/packages/legend-extension-external-language-morphir/package.json index 2c7c33b9..c25d624d 100644 --- a/packages/legend-extension-external-language-morphir/package.json +++ b/packages/legend-extension-external-language-morphir/package.json @@ -50,9 +50,9 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", + "@jest/globals": "28.0.2", "cross-env": "7.0.3", "eslint": "8.14.0", - "jest": "28.0.2", "npm-run-all": "4.1.5", "rimraf": "3.0.2", "sass": "1.51.0", diff --git a/packages/legend-extension-external-store-service/package.json b/packages/legend-extension-external-store-service/package.json index 89789ac4..5e3406d5 100644 --- a/packages/legend-extension-external-store-service/package.json +++ b/packages/legend-extension-external-store-service/package.json @@ -53,9 +53,9 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", + "@jest/globals": "28.0.2", "cross-env": "7.0.3", "eslint": "8.14.0", - "jest": "28.0.2", "npm-run-all": "4.1.5", "rimraf": "3.0.2", "sass": "1.51.0", diff --git a/packages/legend-extension-external-store-service/src/models/__tests__/ESService_Roundtrip.test.ts b/packages/legend-extension-external-store-service/src/models/__tests__/ESService_Roundtrip.test.ts index ae98a67a..d1591445 100644 --- a/packages/legend-extension-external-store-service/src/models/__tests__/ESService_Roundtrip.test.ts +++ b/packages/legend-extension-external-store-service/src/models/__tests__/ESService_Roundtrip.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test } from '@jest/globals'; import type { Entity } from '@finos/legend-model-storage'; import { unitTest } from '@finos/legend-shared'; import { roundtripTestData } from './TEST_DATA__ESService_Roundtrip'; diff --git a/packages/legend-extension-mapping-generation/package.json b/packages/legend-extension-mapping-generation/package.json index d15750e2..a7276a41 100644 --- a/packages/legend-extension-mapping-generation/package.json +++ b/packages/legend-extension-mapping-generation/package.json @@ -53,9 +53,9 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", + "@jest/globals": "28.0.2", "cross-env": "7.0.3", "eslint": "8.14.0", - "jest": "28.0.2", "npm-run-all": "4.1.5", "rimraf": "3.0.2", "sass": "1.51.0", diff --git a/packages/legend-graph-extension-collection/package.json b/packages/legend-graph-extension-collection/package.json index e2331d30..a36f5869 100644 --- a/packages/legend-graph-extension-collection/package.json +++ b/packages/legend-graph-extension-collection/package.json @@ -48,9 +48,9 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", + "@jest/globals": "28.0.2", "cross-env": "7.0.3", "eslint": "8.14.0", - "jest": "28.0.2", "npm-run-all": "4.1.5", "rimraf": "3.0.2", "typescript": "4.6.3" diff --git a/packages/legend-graph/package.json b/packages/legend-graph/package.json index 2781d940..b588d68e 100644 --- a/packages/legend-graph/package.json +++ b/packages/legend-graph/package.json @@ -48,9 +48,9 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", + "@jest/globals": "28.0.2", "cross-env": "7.0.3", "eslint": "8.14.0", - "jest": "28.0.2", "npm-run-all": "4.1.5", "rimraf": "3.0.2", "typescript": "4.6.3" diff --git a/packages/legend-graph/src/GraphManagerTestUtils.tsx b/packages/legend-graph/src/GraphManagerTestUtils.tsx index 82bd1d2c..2ff09f54 100644 --- a/packages/legend-graph/src/GraphManagerTestUtils.tsx +++ b/packages/legend-graph/src/GraphManagerTestUtils.tsx @@ -15,6 +15,7 @@ */ /// +import { jest, expect } from '@jest/globals'; import { type LoggerPlugin, Log, @@ -193,10 +194,12 @@ export const TEST__checkGraphHashUnchanged = async ( }), ), ); - expect( - Array.from(originalHashesIndex.entries()).filter( - (entry) => entry[0] !== SECTION_INDEX_ELEMENT_PATH, - ), + ( + expect( + Array.from(originalHashesIndex.entries()).filter( + (entry) => entry[0] !== SECTION_INDEX_ELEMENT_PATH, + ), + ) as unknown as jest.Expect ).toIncludeSameMembers( Array.from(graphHashesIndex.entries()).filter( (entry) => entry[0] !== SECTION_INDEX_ELEMENT_PATH, @@ -221,7 +224,7 @@ export const TEST__checkBuildingElementsRoundtrip = async ( TEST__ensureObjectFieldsAreSortedAlphabetically(entity.content), ); // check if the contents are the same (i.e. roundtrip test) - expect(transformedEntities).toIncludeSameMembers( + (expect(transformedEntities) as unknown as jest.Expect).toIncludeSameMembers( TEST__excludeSectionIndex(entities), ); await TEST__checkGraphHashUnchanged(graphManagerState, entities); @@ -245,7 +248,7 @@ export const TEST__checkBuildingResolvedElements = async ( TEST__ensureObjectFieldsAreSortedAlphabetically(entity.content), ); // check if the contents are the same (i.e. roundtrip test) - expect(transformedEntities).toIncludeSameMembers( + (expect(transformedEntities) as unknown as jest.Expect).toIncludeSameMembers( TEST__excludeSectionIndex(resolvedEntities), ); }; diff --git a/packages/legend-graph/src/__tests__/ExecutionPlanRountrip.test.ts b/packages/legend-graph/src/__tests__/ExecutionPlanRountrip.test.ts index 1089b455..82758b55 100644 --- a/packages/legend-graph/src/__tests__/ExecutionPlanRountrip.test.ts +++ b/packages/legend-graph/src/__tests__/ExecutionPlanRountrip.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, describe, expect } from '@jest/globals'; import type { Entity } from '@finos/legend-model-storage'; import { unitTest } from '@finos/legend-shared'; import { diff --git a/packages/legend-graph/src/__tests__/ImportResolutionRoundtrip.test.ts b/packages/legend-graph/src/__tests__/ImportResolutionRoundtrip.test.ts index 87f7bde3..8ae4d98a 100644 --- a/packages/legend-graph/src/__tests__/ImportResolutionRoundtrip.test.ts +++ b/packages/legend-graph/src/__tests__/ImportResolutionRoundtrip.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, describe } from '@jest/globals'; import { unitTest } from '@finos/legend-shared'; import { TEST_DATA__AutoImportsWithSystemProfiles, diff --git a/packages/legend-graph/src/__tests__/Inference.test.ts b/packages/legend-graph/src/__tests__/Inference.test.ts index 0a5c2132..9b6e1a17 100644 --- a/packages/legend-graph/src/__tests__/Inference.test.ts +++ b/packages/legend-graph/src/__tests__/Inference.test.ts @@ -14,6 +14,8 @@ * limitations under the License. */ +/// +import { test, expect } from '@jest/globals'; import { unitTest } from '@finos/legend-shared'; import { TEST_DATA__InferenceDefaultMappingElementID, @@ -37,7 +39,7 @@ test(unitTest('Infer default mapping element ID'), async () => { const transformedEntities = graphManagerState.graph.allOwnElements.map( (element) => graphManagerState.graphManager.elementToEntity(element), ); - expect(transformedEntities).toIncludeSameMembers( + (expect(transformedEntities) as unknown as jest.Expect).toIncludeSameMembers( TEST__excludeSectionIndex( TEST_DATA__InferenceDefaultMappingElementID as Entity[], ), @@ -73,9 +75,9 @@ test( const transformedEntities = graphManagerState.graph.allOwnElements.map( (element) => graphManagerState.graphManager.elementToEntity(element), ); - expect(transformedEntities).toIncludeSameMembers( - TEST_DATA__ReferenceWithoutSection.withoutSection, - ); + ( + expect(transformedEntities) as unknown as jest.Expect + ).toIncludeSameMembers(TEST_DATA__ReferenceWithoutSection.withoutSection); }, ); @@ -99,10 +101,12 @@ test( graphManagerState.graph.getProfile('test::tProf'); } - expect( - graphManagerState.graph.allOwnElements.map((element) => - graphManagerState.graphManager.elementToEntity(element), - ), + ( + expect( + graphManagerState.graph.allOwnElements.map((element) => + graphManagerState.graphManager.elementToEntity(element), + ), + ) as unknown as jest.Expect ).toIncludeSameMembers( TEST__excludeSectionIndex( TEST_DATA__ReferenceModification.sameProfileModification as Entity[], @@ -125,10 +129,12 @@ test( graphManagerState.graph.getProfile('test2::tProf'); } - expect( - graphManagerState.graph.allOwnElements.map((element) => - graphManagerState.graphManager.elementToEntity(element), - ), + ( + expect( + graphManagerState.graph.allOwnElements.map((element) => + graphManagerState.graphManager.elementToEntity(element), + ), + ) as unknown as jest.Expect ).toIncludeSameMembers( TEST__excludeSectionIndex( TEST_DATA__ReferenceModification.differentProfileModification as Entity[], diff --git a/packages/legend-graph/src/__tests__/MetaModelUtils.test.ts b/packages/legend-graph/src/__tests__/MetaModelUtils.test.ts index 57d36734..334552be 100644 --- a/packages/legend-graph/src/__tests__/MetaModelUtils.test.ts +++ b/packages/legend-graph/src/__tests__/MetaModelUtils.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect } from '@jest/globals'; import { extractElementNameFromPath, fromElementPathToMappingElementId, diff --git a/packages/legend-graph/src/__tests__/PackageableElementReference.test.ts b/packages/legend-graph/src/__tests__/PackageableElementReference.test.ts index f8d1e759..20990ef4 100644 --- a/packages/legend-graph/src/__tests__/PackageableElementReference.test.ts +++ b/packages/legend-graph/src/__tests__/PackageableElementReference.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect } from '@jest/globals'; import { unitTest } from '@finos/legend-shared'; import { addElementToPackage } from '../helpers/DomainHelper'; import { Class } from '../models/metamodels/pure/packageableElements/domain/Class'; diff --git a/packages/legend-graph/src/__tests__/buildGraph/DSLExternalFormat_Roundtrip.test.ts b/packages/legend-graph/src/__tests__/buildGraph/DSLExternalFormat_Roundtrip.test.ts index 5e5a126d..014b0412 100644 --- a/packages/legend-graph/src/__tests__/buildGraph/DSLExternalFormat_Roundtrip.test.ts +++ b/packages/legend-graph/src/__tests__/buildGraph/DSLExternalFormat_Roundtrip.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test } from '@jest/globals'; import type { Entity } from '@finos/legend-model-storage'; import { unitTest } from '@finos/legend-shared'; import { roundtripTestData } from './TEST_DATA__DSLExternalFormat_Roundtrip'; diff --git a/packages/legend-graph/src/__tests__/buildGraph/Dependency.test.ts b/packages/legend-graph/src/__tests__/buildGraph/Dependency.test.ts index 30a8c1b5..8169815e 100644 --- a/packages/legend-graph/src/__tests__/buildGraph/Dependency.test.ts +++ b/packages/legend-graph/src/__tests__/buildGraph/Dependency.test.ts @@ -14,6 +14,8 @@ * limitations under the License. */ +/// +import { test, expect } from '@jest/globals'; import { unitTest } from '@finos/legend-shared'; import { TEST__getTestGraphManagerState } from '../../GraphManagerTestUtils'; import { DependencyManager } from '../../graph/DependencyManager'; @@ -128,7 +130,9 @@ test( const transformedEntities = graphManagerState.graph.allOwnElements.map( (el) => graphManagerState.graphManager.elementToEntity(el), ); - expect(entities).toIncludeSameMembers(transformedEntities); + (expect(entities) as unknown as jest.Expect).toIncludeSameMembers( + transformedEntities, + ); }, ); diff --git a/packages/legend-graph/src/__tests__/buildGraph/Generation.test.ts b/packages/legend-graph/src/__tests__/buildGraph/Generation.test.ts index f1bc5f9a..d6077d21 100644 --- a/packages/legend-graph/src/__tests__/buildGraph/Generation.test.ts +++ b/packages/legend-graph/src/__tests__/buildGraph/Generation.test.ts @@ -15,6 +15,7 @@ */ /// +import { test, expect } from '@jest/globals'; import { unitTest, guaranteeNonNullable } from '@finos/legend-shared'; import { TEST_DATA__simpleDebuggingCase, @@ -92,7 +93,9 @@ const testGeneratedElements = async ( const transformedEntities = graphManagerState.graph.allOwnElements.map((el) => graphManagerState.graphManager.elementToEntity(el), ); - expect(entities).toIncludeSameMembers(transformedEntities); + (expect(entities) as unknown as jest.Expect).toIncludeSameMembers( + transformedEntities, + ); // Ensure generated elements are not transformed for (const entityPath of generatedElementPaths) { expect( diff --git a/packages/legend-graph/src/__tests__/buildGraph/GraphBuildFailure.test.ts b/packages/legend-graph/src/__tests__/buildGraph/GraphBuildFailure.test.ts index d98b5252..99831e9b 100644 --- a/packages/legend-graph/src/__tests__/buildGraph/GraphBuildFailure.test.ts +++ b/packages/legend-graph/src/__tests__/buildGraph/GraphBuildFailure.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect, beforeEach } from '@jest/globals'; import { TEST_DATA__MissingSuperType, TEST_DATA__MissingProfile, diff --git a/packages/legend-graph/src/__tests__/buildGraph/GraphBuildSuccess.test.ts b/packages/legend-graph/src/__tests__/buildGraph/GraphBuildSuccess.test.ts index c94b004d..4a97194f 100644 --- a/packages/legend-graph/src/__tests__/buildGraph/GraphBuildSuccess.test.ts +++ b/packages/legend-graph/src/__tests__/buildGraph/GraphBuildSuccess.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect, beforeAll } from '@jest/globals'; import TEST_DATA__m2mGraphEntities from './TEST_DATA__M2MGraphEntities.json'; import { guaranteeNonNullable, unitTest } from '@finos/legend-shared'; import type { Entity } from '@finos/legend-model-storage'; diff --git a/packages/legend-graph/src/__tests__/buildGraph/RawLambaPathResolver.test.ts b/packages/legend-graph/src/__tests__/buildGraph/RawLambaPathResolver.test.ts index 67e0f7fc..05690c34 100644 --- a/packages/legend-graph/src/__tests__/buildGraph/RawLambaPathResolver.test.ts +++ b/packages/legend-graph/src/__tests__/buildGraph/RawLambaPathResolver.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test } from '@jest/globals'; import type { Entity } from '@finos/legend-model-storage'; import { unitTest } from '@finos/legend-shared'; import { TEST__checkBuildingResolvedElements } from '../../GraphManagerTestUtils'; diff --git a/packages/legend-graph/src/__tests__/buildGraph/generation/FileGenerationBuildSuccess.test.ts b/packages/legend-graph/src/__tests__/buildGraph/generation/FileGenerationBuildSuccess.test.ts index 7765710b..14e8b244 100644 --- a/packages/legend-graph/src/__tests__/buildGraph/generation/FileGenerationBuildSuccess.test.ts +++ b/packages/legend-graph/src/__tests__/buildGraph/generation/FileGenerationBuildSuccess.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect, beforeEach } from '@jest/globals'; import TEST_DATA__fileGeneration from './TEST_DATA__FileGeneration.json'; import { guaranteeType, unitTest } from '@finos/legend-shared'; import type { Entity } from '@finos/legend-model-storage'; diff --git a/packages/legend-graph/src/__tests__/buildGraph/relational/EmbeddedRelational.test.ts b/packages/legend-graph/src/__tests__/buildGraph/relational/EmbeddedRelational.test.ts index fe381aaa..3acc4591 100644 --- a/packages/legend-graph/src/__tests__/buildGraph/relational/EmbeddedRelational.test.ts +++ b/packages/legend-graph/src/__tests__/buildGraph/relational/EmbeddedRelational.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect, beforeEach } from '@jest/globals'; import { TEST_DATA__embeddedRelationalTestData } from './TEST_DATA__RelationalEntities'; import { guaranteeNonNullable, diff --git a/packages/legend-graph/src/__tests__/buildGraph/relational/InlineEmbeddedRelational.test.ts b/packages/legend-graph/src/__tests__/buildGraph/relational/InlineEmbeddedRelational.test.ts index 0f9631ee..cea43327 100644 --- a/packages/legend-graph/src/__tests__/buildGraph/relational/InlineEmbeddedRelational.test.ts +++ b/packages/legend-graph/src/__tests__/buildGraph/relational/InlineEmbeddedRelational.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect, beforeEach } from '@jest/globals'; import { TEST_DATA__inlineEmbeddedRelationalTestData } from './TEST_DATA__RelationalEntities'; import { guaranteeNonNullable, diff --git a/packages/legend-graph/src/__tests__/buildGraph/relational/OtherwiseEmbeddedRelational.test.ts b/packages/legend-graph/src/__tests__/buildGraph/relational/OtherwiseEmbeddedRelational.test.ts index 1266166a..470bb3cc 100644 --- a/packages/legend-graph/src/__tests__/buildGraph/relational/OtherwiseEmbeddedRelational.test.ts +++ b/packages/legend-graph/src/__tests__/buildGraph/relational/OtherwiseEmbeddedRelational.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect, beforeEach } from '@jest/globals'; import { TEST_DATA__otherwiseEmbeddedRelationalTestData } from './TEST_DATA__RelationalEntities'; import { guaranteeNonNullable, diff --git a/packages/legend-graph/src/__tests__/buildGraph/relational/PropertyThroughAssociationGraphSuccess.test.ts b/packages/legend-graph/src/__tests__/buildGraph/relational/PropertyThroughAssociationGraphSuccess.test.ts index 8f417a3d..d93e12bf 100644 --- a/packages/legend-graph/src/__tests__/buildGraph/relational/PropertyThroughAssociationGraphSuccess.test.ts +++ b/packages/legend-graph/src/__tests__/buildGraph/relational/PropertyThroughAssociationGraphSuccess.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect, beforeEach } from '@jest/globals'; import { TEST_DATA__targetSetImplementationThroughAssociation } from './TEST_DATA__RelationalEntities'; import { unitTest, diff --git a/packages/legend-graph/src/__tests__/buildGraph/relational/SimpleRelationalGraphBuildSuccess.test.ts b/packages/legend-graph/src/__tests__/buildGraph/relational/SimpleRelationalGraphBuildSuccess.test.ts index 7446d7b6..39767d11 100644 --- a/packages/legend-graph/src/__tests__/buildGraph/relational/SimpleRelationalGraphBuildSuccess.test.ts +++ b/packages/legend-graph/src/__tests__/buildGraph/relational/SimpleRelationalGraphBuildSuccess.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect, beforeEach } from '@jest/globals'; import { TEST_DATA__relationalCompleteGraphEntities } from './TEST_DATA__RelationalEntities'; import { unitTest, diff --git a/packages/legend-graph/src/helpers/__tests__/DomainHelper.test.ts b/packages/legend-graph/src/helpers/__tests__/DomainHelper.test.ts index f8d6f81a..37a963c7 100644 --- a/packages/legend-graph/src/helpers/__tests__/DomainHelper.test.ts +++ b/packages/legend-graph/src/helpers/__tests__/DomainHelper.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect } from '@jest/globals'; import { guaranteeType, unitTest } from '@finos/legend-shared'; import { Package } from '../../models/metamodels/pure/packageableElements/domain/Package'; import { getOrCreatePackage } from '../DomainHelper'; diff --git a/packages/legend-graph/src/helpers/__tests__/PureLanguageHelper.test.ts b/packages/legend-graph/src/helpers/__tests__/PureLanguageHelper.test.ts index 5583c8e2..de723f40 100644 --- a/packages/legend-graph/src/helpers/__tests__/PureLanguageHelper.test.ts +++ b/packages/legend-graph/src/helpers/__tests__/PureLanguageHelper.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { jest, test, expect, afterEach } from '@jest/globals'; import TEST_DATA__simpleGraphEntities from './TEST_DATA__FunctionSignatureGeneration.json'; import { unitTest } from '@finos/legend-shared'; import type { Entity } from '@finos/legend-model-storage'; diff --git a/packages/legend-graph/src/models/protocols/pure/v1/transformation/pureGraph/to/__tests__/V1_GraphBuilderExtensions.test.ts b/packages/legend-graph/src/models/protocols/pure/v1/transformation/pureGraph/to/__tests__/V1_GraphBuilderExtensions.test.ts index 768bb81a..fa7b0f81 100644 --- a/packages/legend-graph/src/models/protocols/pure/v1/transformation/pureGraph/to/__tests__/V1_GraphBuilderExtensions.test.ts +++ b/packages/legend-graph/src/models/protocols/pure/v1/transformation/pureGraph/to/__tests__/V1_GraphBuilderExtensions.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect } from '@jest/globals'; import { type Clazz, UnsupportedOperationError, diff --git a/packages/legend-graph/src/models/protocols/pure/v1/transformation/pureGraph/to/__tests__/V1_ValueSpecificationBuilder.test.ts b/packages/legend-graph/src/models/protocols/pure/v1/transformation/pureGraph/to/__tests__/V1_ValueSpecificationBuilder.test.ts index 3cb1a9da..bc7a3fe0 100644 --- a/packages/legend-graph/src/models/protocols/pure/v1/transformation/pureGraph/to/__tests__/V1_ValueSpecificationBuilder.test.ts +++ b/packages/legend-graph/src/models/protocols/pure/v1/transformation/pureGraph/to/__tests__/V1_ValueSpecificationBuilder.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, describe, expect } from '@jest/globals'; import type { Entity } from '@finos/legend-model-storage'; import { unitTest, Log } from '@finos/legend-shared'; import { diff --git a/packages/legend-manual-tests/package.json b/packages/legend-manual-tests/package.json index c7db8271..edcfbb9a 100644 --- a/packages/legend-manual-tests/package.json +++ b/packages/legend-manual-tests/package.json @@ -29,10 +29,10 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", + "@jest/globals": "28.0.2", "axios": "0.27.2", "cross-env": "7.0.3", "eslint": "8.14.0", - "jest": "28.0.2", "npm-run-all": "4.1.5", "rimraf": "3.0.2", "typescript": "4.6.3" diff --git a/packages/legend-manual-tests/src/__tests__/roundtrip-grammar-mismatch/RoundtripGrammarMismatch.test.ts b/packages/legend-manual-tests/src/__tests__/roundtrip-grammar-mismatch/RoundtripGrammarMismatch.test.ts index 59aff2f1..d7514aba 100644 --- a/packages/legend-manual-tests/src/__tests__/roundtrip-grammar-mismatch/RoundtripGrammarMismatch.test.ts +++ b/packages/legend-manual-tests/src/__tests__/roundtrip-grammar-mismatch/RoundtripGrammarMismatch.test.ts @@ -14,12 +14,14 @@ * limitations under the License. */ +import { jest, test, describe, expect } from '@jest/globals'; + // NOTE: mock these methods to make sure we rule out false positive. The grammar parser for any List type field, // will generate empty array, however, in Studio, we avoid that to lessen the size of the serialized graph // to save bandwidth, as such the best action is just to mock these methods so in the scope of this test, Studio // serializers return empty array for these fields just like the parser's jest.mock('@finos/legend-shared', () => ({ - ...jest.requireActual('@finos/legend-shared'), + ...(jest.requireActual('@finos/legend-shared') as object), /* eslint-disable @typescript-eslint/no-explicit-any */ serializeArray: ( values: any, diff --git a/packages/legend-manual-tests/src/__tests__/roundtrip-grammar/ProfilingGraphBuilding.test.ts b/packages/legend-manual-tests/src/__tests__/roundtrip-grammar/ProfilingGraphBuilding.test.ts index 067e04f3..08cec538 100644 --- a/packages/legend-manual-tests/src/__tests__/roundtrip-grammar/ProfilingGraphBuilding.test.ts +++ b/packages/legend-manual-tests/src/__tests__/roundtrip-grammar/ProfilingGraphBuilding.test.ts @@ -14,14 +14,14 @@ * limitations under the License. */ -/// +import { jest, test, describe, expect } from '@jest/globals'; // NOTE: mock these methods to make sure we rule out false positive. The grammar parser for any List type field, // will generate empty array, however, in Studio, we avoid that to lessen the size of the serialized graph // to save bandwidth, as such the best action is just to mock these methods so in the scope of this test, Studio // serializers return empty array for these fields just like the parser's jest.mock('@finos/legend-shared', () => ({ - ...jest.requireActual('@finos/legend-shared'), + ...(jest.requireActual('@finos/legend-shared') as object), /* eslint-disable @typescript-eslint/no-explicit-any */ serializeArray: ( values: any, diff --git a/packages/legend-manual-tests/src/__tests__/roundtrip-grammar/RoundtripGrammar.test.ts b/packages/legend-manual-tests/src/__tests__/roundtrip-grammar/RoundtripGrammar.test.ts index e0ac1ed0..8893ee3f 100644 --- a/packages/legend-manual-tests/src/__tests__/roundtrip-grammar/RoundtripGrammar.test.ts +++ b/packages/legend-manual-tests/src/__tests__/roundtrip-grammar/RoundtripGrammar.test.ts @@ -15,13 +15,14 @@ */ /// +import { jest, test, describe, expect } from '@jest/globals'; // NOTE: mock these methods to make sure we rule out false positive. The grammar parser for any List type field, // will generate empty array, however, in Studio, we avoid that to lessen the size of the serialized graph // to save bandwidth, as such the best action is just to mock these methods so in the scope of this test, Studio // serializers return empty array for these fields just like the parser's jest.mock('@finos/legend-shared', () => ({ - ...jest.requireActual('@finos/legend-shared'), + ...(jest.requireActual('@finos/legend-shared') as object), /* eslint-disable @typescript-eslint/no-explicit-any */ serializeArray: ( values: any, @@ -246,11 +247,13 @@ const checkGrammarRoundtrip = async ( if (!excludes.includes(phase)) { // ensure that transformed entities have all fields ordered alphabetically - expect( - // received: transformed entity - transformedEntities - .map((entity) => entity.content) - .map(graphManagerState.graphManager.pruneSourceInformation), + ( + expect( + // received: transformed entity + transformedEntities + .map((entity) => entity.content) + .map(graphManagerState.graphManager.pruneSourceInformation), + ) as unknown as jest.Expect ).toIncludeSameMembers( // expected: protocol JSON parsed from grammar text transformGrammarToJsonResult.data.modelDataContext.elements diff --git a/packages/legend-model-storage/package.json b/packages/legend-model-storage/package.json index 5b012526..db4b238a 100644 --- a/packages/legend-model-storage/package.json +++ b/packages/legend-model-storage/package.json @@ -41,9 +41,9 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", + "@jest/globals": "28.0.2", "cross-env": "7.0.3", "eslint": "8.14.0", - "jest": "28.0.2", "lodash": "4.17.21", "npm-run-all": "4.1.5", "rimraf": "3.0.2", diff --git a/packages/legend-query/package.json b/packages/legend-query/package.json index 3552417a..b093fd8b 100644 --- a/packages/legend-query/package.json +++ b/packages/legend-query/package.json @@ -70,10 +70,10 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", + "@jest/globals": "28.0.2", "@testing-library/dom": "8.13.0", "cross-env": "7.0.3", "eslint": "8.14.0", - "jest": "28.0.2", "npm-run-all": "4.1.5", "rimraf": "3.0.2", "sass": "1.51.0", diff --git a/packages/legend-query/src/components/QueryComponentTestUtils.tsx b/packages/legend-query/src/components/QueryComponentTestUtils.tsx index c35451a0..034533ec 100644 --- a/packages/legend-query/src/components/QueryComponentTestUtils.tsx +++ b/packages/legend-query/src/components/QueryComponentTestUtils.tsx @@ -14,6 +14,7 @@ * limitations under the License. */ +import { jest } from '@jest/globals'; import { type RenderResult, render, waitFor } from '@testing-library/react'; import { Router } from 'react-router-dom'; import { createMemoryHistory } from 'history'; @@ -149,9 +150,12 @@ export const TEST__setUpQueryEditor = async ( .spyOn(mockedQueryStore.graphManagerState.graphManager, 'getQuery') .mockResolvedValue(query); - mockedQueryStore.buildGraph = jest.fn(); + mockedQueryStore.buildGraph = jest.fn(); // TODO: we need to think of how we will mock these calls when we modularize - mockedQueryStore.graphManagerState.graphManager.initialize = jest.fn(); + mockedQueryStore.graphManagerState.graphManager.initialize = + jest.fn< + typeof mockedQueryStore.graphManagerState.graphManager.initialize + >(); MOBX__disableSpyOrMock(); const history = createMemoryHistory({ diff --git a/packages/legend-query/src/components/__tests__/QueryBuilder_FetchStructure.test.tsx b/packages/legend-query/src/components/__tests__/QueryBuilder_FetchStructure.test.tsx index 492b635e..8cf38339 100644 --- a/packages/legend-query/src/components/__tests__/QueryBuilder_FetchStructure.test.tsx +++ b/packages/legend-query/src/components/__tests__/QueryBuilder_FetchStructure.test.tsx @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect } from '@jest/globals'; import { fireEvent, getByTitle, getByText } from '@testing-library/react'; import { TEST_DATA__simpleProjection, diff --git a/packages/legend-query/src/stores/__tests__/QueryBuilder_BuildLambdaFailure.test.tsx b/packages/legend-query/src/stores/__tests__/QueryBuilder_BuildLambdaFailure.test.tsx index f2a84ef1..9e205ecf 100644 --- a/packages/legend-query/src/stores/__tests__/QueryBuilder_BuildLambdaFailure.test.tsx +++ b/packages/legend-query/src/stores/__tests__/QueryBuilder_BuildLambdaFailure.test.tsx @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect, describe } from '@jest/globals'; import { TEST_DATA__malformedFilterExpression, TEST_DATA__errorInGraphLambda, diff --git a/packages/legend-query/src/stores/__tests__/QueryBuilder_BuildLambdaRoundtrip.test.tsx b/packages/legend-query/src/stores/__tests__/QueryBuilder_BuildLambdaRoundtrip.test.tsx index a65d2fb9..72e3f2aa 100644 --- a/packages/legend-query/src/stores/__tests__/QueryBuilder_BuildLambdaRoundtrip.test.tsx +++ b/packages/legend-query/src/stores/__tests__/QueryBuilder_BuildLambdaRoundtrip.test.tsx @@ -15,6 +15,7 @@ */ /// +import { test, expect, describe } from '@jest/globals'; import { TEST_DATA__simpleProjection, TEST_DATA__projectionWithChainedProperty, @@ -341,7 +342,9 @@ describe( graphManagerState.graphManager.serializeRawValueSpecification( queryBuilderState.getQuery(), ); - expect([lambda]).toIncludeSameMembers([jsonQuery]); + (expect([lambda]) as unknown as jest.Expect).toIncludeSameMembers([ + jsonQuery, + ]); }); }, ); diff --git a/packages/legend-query/src/stores/__tests__/QueryBuilder_ExplorerState.test.ts b/packages/legend-query/src/stores/__tests__/QueryBuilder_ExplorerState.test.ts index bc6679a9..016e6f2f 100644 --- a/packages/legend-query/src/stores/__tests__/QueryBuilder_ExplorerState.test.ts +++ b/packages/legend-query/src/stores/__tests__/QueryBuilder_ExplorerState.test.ts @@ -14,6 +14,8 @@ * limitations under the License. */ +/// +import { test, expect, describe } from '@jest/globals'; import TEST_DATA__ComplexM2MModel from '../../stores/__tests__/TEST_DATA__QueryBuilder_Model_ComplexM2M.json'; import TEST_DATA__SimpleRelationalInheritanceModel from '../../stores/__tests__/TEST_DATA__QueryBuilder_Model_SimpleRelationalInheritanceModel.json'; import TEST_DATA__COVIDDataSimpleModel from './TEST_DATA__QueryBuilder_Model_COVID.json'; @@ -226,7 +228,9 @@ describe(integrationTest('Build property mapping data'), () => { graphManagerState, maxDepth === undefined ? 1000 : maxDepth, ); - expect(expectedMappingData).toIncludeSameMembers( + ( + expect(expectedMappingData) as unknown as jest.Expect + ).toIncludeSameMembers( transformToTestPropertyMappingData(actualMappingData), ); }); diff --git a/packages/legend-query/src/stores/__tests__/QueryBuilder_LambdaProcessingRoundtrip.test.ts b/packages/legend-query/src/stores/__tests__/QueryBuilder_LambdaProcessingRoundtrip.test.ts index d8c378d0..cc7e415c 100644 --- a/packages/legend-query/src/stores/__tests__/QueryBuilder_LambdaProcessingRoundtrip.test.ts +++ b/packages/legend-query/src/stores/__tests__/QueryBuilder_LambdaProcessingRoundtrip.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect, describe } from '@jest/globals'; import type { Entity } from '@finos/legend-model-storage'; import { unitTest } from '@finos/legend-shared'; import { diff --git a/packages/legend-server-depot/package.json b/packages/legend-server-depot/package.json index c01f9f0b..667f4ef2 100644 --- a/packages/legend-server-depot/package.json +++ b/packages/legend-server-depot/package.json @@ -46,9 +46,9 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", + "@jest/globals": "28.0.2", "cross-env": "7.0.3", "eslint": "8.14.0", - "jest": "28.0.2", "npm-run-all": "4.1.5", "rimraf": "3.0.2", "typescript": "4.6.3" diff --git a/packages/legend-server-depot/src/DepotServerClientTestUtils.tsx b/packages/legend-server-depot/src/DepotServerClientTestUtils.tsx index 233eab10..b5e04216 100644 --- a/packages/legend-server-depot/src/DepotServerClientTestUtils.tsx +++ b/packages/legend-server-depot/src/DepotServerClientTestUtils.tsx @@ -14,6 +14,7 @@ * limitations under the License. */ +import { jest } from '@jest/globals'; import { DepotServerClient } from './DepotServerClient'; import { DepotServerClientProvider } from './DepotServerClientProvider'; diff --git a/packages/legend-server-depot/src/__tests__/DepotUtils.test.ts b/packages/legend-server-depot/src/__tests__/DepotUtils.test.ts index 4037561d..c70f6ec2 100644 --- a/packages/legend-server-depot/src/__tests__/DepotUtils.test.ts +++ b/packages/legend-server-depot/src/__tests__/DepotUtils.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect } from '@jest/globals'; import { unitTest } from '@finos/legend-shared'; import { compareSemVerVersions } from '../DepotUtils'; diff --git a/packages/legend-server-sdlc/package.json b/packages/legend-server-sdlc/package.json index 5ba17419..2f9f3c40 100644 --- a/packages/legend-server-sdlc/package.json +++ b/packages/legend-server-sdlc/package.json @@ -47,9 +47,9 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", + "@jest/globals": "28.0.2", "cross-env": "7.0.3", "eslint": "8.14.0", - "jest": "28.0.2", "npm-run-all": "4.1.5", "rimraf": "3.0.2", "typescript": "4.6.3" diff --git a/packages/legend-server-sdlc/src/SDLCServerClientTestUtils.tsx b/packages/legend-server-sdlc/src/SDLCServerClientTestUtils.tsx index 507751fd..ceb37096 100644 --- a/packages/legend-server-sdlc/src/SDLCServerClientTestUtils.tsx +++ b/packages/legend-server-sdlc/src/SDLCServerClientTestUtils.tsx @@ -14,6 +14,7 @@ * limitations under the License. */ +import { jest } from '@jest/globals'; import { SDLCServerClient } from './SDLCServerClient'; import { SDLCServerClientProvider } from './SDLCServerClientProvider'; diff --git a/packages/legend-shared/package.json b/packages/legend-shared/package.json index b8e8bbf6..704dcaf4 100644 --- a/packages/legend-shared/package.json +++ b/packages/legend-shared/package.json @@ -60,9 +60,9 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", + "@jest/globals": "28.0.2", "cross-env": "7.0.3", "eslint": "8.14.0", - "jest": "28.0.2", "lodash": "4.17.21", "npm-run-all": "4.1.5", "rimraf": "3.0.2", diff --git a/packages/legend-shared/src/__tests__/CommonUtils.test.ts b/packages/legend-shared/src/__tests__/CommonUtils.test.ts index fcd7952c..a3fb046f 100644 --- a/packages/legend-shared/src/__tests__/CommonUtils.test.ts +++ b/packages/legend-shared/src/__tests__/CommonUtils.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect } from '@jest/globals'; import { recursiveOmit, mergeObjects, diff --git a/packages/legend-shared/src/__tests__/RandomizerUtils.test.ts b/packages/legend-shared/src/__tests__/RandomizerUtils.test.ts index 6e4c3065..5125d6e5 100644 --- a/packages/legend-shared/src/__tests__/RandomizerUtils.test.ts +++ b/packages/legend-shared/src/__tests__/RandomizerUtils.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect } from '@jest/globals'; import { unitTest } from '../application/TestUtils'; import { Randomizer } from '../application/RandomizerUtils'; diff --git a/packages/legend-shared/src/application/TestUtils.ts b/packages/legend-shared/src/application/TestUtils.ts index 7931617a..01c9008b 100644 --- a/packages/legend-shared/src/application/TestUtils.ts +++ b/packages/legend-shared/src/application/TestUtils.ts @@ -42,25 +42,6 @@ export const integrationTest = (testName: string): string => `[INTEGRATION] ${testName}`; export const unitTest = (testName: string): string => `[UNIT] ${testName}`; -/** - * This helps with restoring mocked/spyed object that works with Typescript. - * Note that we rarely call this function since this restoring mocks only work with `jest.spyOn` - * and for those, we can conveniently call `jest.restoreAllMocks` or set `restoreMocks: true` in Jest config - * See https://jestjs.io/docs/en/mock-function-api#mockfnmockrestore - * See https://jestjs.io/docs/en/jest-object#jestrestoreallmocks - * - * For cases where we stub the implementation using `jest.fn` we have to store the original implementation and restore it - * manually, for example: - * - * const originalFn = moduleA.fn; - * moduleA.fn = jest.fn().mockResolvedValue({}); - * ... - * moduleA.fn = originalFn; - */ -export const restoreMock = (mocked: unknown): void => - (mocked as jest.Mock).mockRestore(); -export const asMock = (mock: unknown): jest.Mock => mock as jest.Mock; - /** * MobX makes some fields non-configurable or non-writable which would prevent spying/mocking/stubbing in your tests. * NOTE: Use with caution and only when needed - do not turn this off globally for all tests, otherwise you risk diff --git a/packages/legend-shared/src/error/__tests__/AssertionUtils.test.ts b/packages/legend-shared/src/error/__tests__/AssertionUtils.test.ts index 1111d3df..e03c3ac1 100644 --- a/packages/legend-shared/src/error/__tests__/AssertionUtils.test.ts +++ b/packages/legend-shared/src/error/__tests__/AssertionUtils.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect } from '@jest/globals'; import { isNonNullable, AssertionError, diff --git a/packages/legend-shared/src/format/__tests__/FormatterUtils.test.ts b/packages/legend-shared/src/format/__tests__/FormatterUtils.test.ts index a59a63e2..408a3b4e 100644 --- a/packages/legend-shared/src/format/__tests__/FormatterUtils.test.ts +++ b/packages/legend-shared/src/format/__tests__/FormatterUtils.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect } from '@jest/globals'; import { toSentenceCase, prettyCONSTName, diff --git a/packages/legend-studio-extension-management-toolkit/package.json b/packages/legend-studio-extension-management-toolkit/package.json index e742521f..8decb942 100644 --- a/packages/legend-studio-extension-management-toolkit/package.json +++ b/packages/legend-studio-extension-management-toolkit/package.json @@ -56,9 +56,9 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", + "@jest/globals": "28.0.2", "cross-env": "7.0.3", "eslint": "8.14.0", - "jest": "28.0.2", "npm-run-all": "4.1.5", "rimraf": "3.0.2", "sass": "1.51.0", diff --git a/packages/legend-studio-extension-query-builder/package.json b/packages/legend-studio-extension-query-builder/package.json index 89189fcd..742bca4c 100644 --- a/packages/legend-studio-extension-query-builder/package.json +++ b/packages/legend-studio-extension-query-builder/package.json @@ -59,11 +59,11 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", + "@jest/globals": "28.0.2", "@testing-library/dom": "8.13.0", "@testing-library/react": "12.1.5", "cross-env": "7.0.3", "eslint": "8.14.0", - "jest": "28.0.2", "npm-run-all": "4.1.5", "rimraf": "3.0.2", "sass": "1.51.0", diff --git a/packages/legend-studio-extension-query-builder/src/components/__tests__/QueryBuilder_StudioPlugin.test.tsx b/packages/legend-studio-extension-query-builder/src/components/__tests__/QueryBuilder_StudioPlugin.test.tsx index 85f63b5f..2df81446 100644 --- a/packages/legend-studio-extension-query-builder/src/components/__tests__/QueryBuilder_StudioPlugin.test.tsx +++ b/packages/legend-studio-extension-query-builder/src/components/__tests__/QueryBuilder_StudioPlugin.test.tsx @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, jest } from '@jest/globals'; import { fireEvent, getByText } from '@testing-library/react'; import { integrationTest, @@ -224,7 +225,8 @@ test(integrationTest('Open query builder by executing a class'), async () => { ); MOBX__enableSpyOrMock(); - mockedEditorStore.graphState.globalCompileInFormMode = jest.fn(); + mockedEditorStore.graphState.globalCompileInFormMode = + jest.fn(); MOBX__disableSpyOrMock(); await TEST__openElementFromExplorerTree('model::Person', renderResult); @@ -255,9 +257,12 @@ test( ); MOBX__enableSpyOrMock(); - mockedEditorStore.graphState.globalCompileInFormMode = jest.fn(); + mockedEditorStore.graphState.globalCompileInFormMode = + jest.fn(); mockedEditorStore.graphManagerState.graphManager.lambdasToPureCode = - jest.fn(); + jest.fn< + typeof mockedEditorStore.graphManagerState.graphManager.lambdasToPureCode + >(); MockedMonacoEditorInstance.getValue.mockReturnValue(''); MOBX__disableSpyOrMock(); @@ -289,9 +294,12 @@ test( ); MOBX__enableSpyOrMock(); - mockedEditorStore.graphState.globalCompileInFormMode = jest.fn(); + mockedEditorStore.graphState.globalCompileInFormMode = + jest.fn(); mockedEditorStore.graphManagerState.graphManager.lambdasToPureCode = - jest.fn(); + jest.fn< + typeof mockedEditorStore.graphManagerState.graphManager.lambdasToPureCode + >(); MockedMonacoEditorInstance.getValue.mockReturnValue(''); MOBX__disableSpyOrMock(); @@ -316,9 +324,12 @@ test( ); MOBX__enableSpyOrMock(); - mockedEditorStore.graphState.globalCompileInFormMode = jest.fn(); + mockedEditorStore.graphState.globalCompileInFormMode = + jest.fn(); mockedEditorStore.graphManagerState.graphManager.lambdasToPureCode = - jest.fn(); + jest.fn< + typeof mockedEditorStore.graphManagerState.graphManager.lambdasToPureCode + >(); MockedMonacoEditorInstance.getValue.mockReturnValue(''); MOBX__disableSpyOrMock(); diff --git a/packages/legend-studio/package.json b/packages/legend-studio/package.json index 638906b8..9e428762 100644 --- a/packages/legend-studio/package.json +++ b/packages/legend-studio/package.json @@ -71,10 +71,10 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", + "@jest/globals": "28.0.2", "@testing-library/dom": "8.13.0", "cross-env": "7.0.3", "eslint": "8.14.0", - "jest": "28.0.2", "npm-run-all": "4.1.5", "rimraf": "3.0.2", "sass": "1.51.0", diff --git a/packages/legend-studio/src/components/EditorComponentTestUtils.tsx b/packages/legend-studio/src/components/EditorComponentTestUtils.tsx index 67dd3348..41059309 100644 --- a/packages/legend-studio/src/components/EditorComponentTestUtils.tsx +++ b/packages/legend-studio/src/components/EditorComponentTestUtils.tsx @@ -14,6 +14,7 @@ * limitations under the License. */ +import { jest, expect } from '@jest/globals'; import { type RenderResult, render, @@ -314,7 +315,7 @@ export const TEST__setUpEditor = async ( .mockResolvedValue(projectDependency); // TODO: we need to think of how we will mock these calls when we modularize - mockedEditorStore.graphManagerState.graphManager.initialize = jest.fn(); + mockedEditorStore.graphManagerState.graphManager.initialize = jest.fn(); jest .spyOn( mockedEditorStore.graphManagerState.graphManager, @@ -330,15 +331,15 @@ export const TEST__setUpEditor = async ( // mock change detections (since we do not test them now) mockedEditorStore.changeDetectionState.workspaceLocalLatestRevisionState.buildEntityHashesIndex = - jest.fn(); + jest.fn(); mockedEditorStore.sdlcState.buildWorkspaceBaseRevisionEntityHashesIndex = - jest.fn(); + jest.fn(); mockedEditorStore.sdlcState.buildProjectLatestRevisionEntityHashesIndex = - jest.fn(); + jest.fn(); mockedEditorStore.workspaceReviewState.fetchCurrentWorkspaceReview = - jest.fn(); + jest.fn(); mockedEditorStore.workspaceUpdaterState.fetchLatestCommittedReviews = - jest.fn(); + jest.fn(); MOBX__disableSpyOrMock(); const history = createMemoryHistory({ diff --git a/packages/legend-studio/src/components/__tests__/LegendStudioApplication.test.tsx b/packages/legend-studio/src/components/__tests__/LegendStudioApplication.test.tsx index 59c1ce12..200861e6 100644 --- a/packages/legend-studio/src/components/__tests__/LegendStudioApplication.test.tsx +++ b/packages/legend-studio/src/components/__tests__/LegendStudioApplication.test.tsx @@ -14,11 +14,13 @@ * limitations under the License. */ +import { test, jest, expect } from '@jest/globals'; import { LegendStudioApplicationRoot } from '../LegendStudioApplication'; import { integrationTest, MOBX__enableSpyOrMock, MOBX__disableSpyOrMock, + noop, } from '@finos/legend-shared'; import { waitFor } from '@testing-library/dom'; import { @@ -95,7 +97,7 @@ test(integrationTest('Failed to authorize SDLC will redirect'), async () => { .mockResolvedValueOnce({ name: 'testUser', userId: 'testUserId' }); const navigator = new WebApplicationNavigator(createMemoryHistory()); applicationStore.navigator = navigator; - const jumpToSpy = jest.spyOn(navigator, 'jumpTo').mockImplementation(); + const jumpToSpy = jest.spyOn(navigator, 'jumpTo').mockImplementation(noop); jest .spyOn(navigator, 'getCurrentLocation') .mockImplementationOnce(() => stubURL); diff --git a/packages/legend-studio/src/components/editor/edit-panel/__tests__/EditPanel.test.tsx b/packages/legend-studio/src/components/editor/edit-panel/__tests__/EditPanel.test.tsx index 40aea5e9..f7c7bc13 100644 --- a/packages/legend-studio/src/components/editor/edit-panel/__tests__/EditPanel.test.tsx +++ b/packages/legend-studio/src/components/editor/edit-panel/__tests__/EditPanel.test.tsx @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect, beforeEach } from '@jest/globals'; import { type RenderResult, waitFor, diff --git a/packages/legend-studio/src/components/editor/edit-panel/__tests__/ProjectConfigurationEditor.test.tsx b/packages/legend-studio/src/components/editor/edit-panel/__tests__/ProjectConfigurationEditor.test.tsx index c619d4ad..f2906fad 100644 --- a/packages/legend-studio/src/components/editor/edit-panel/__tests__/ProjectConfigurationEditor.test.tsx +++ b/packages/legend-studio/src/components/editor/edit-panel/__tests__/ProjectConfigurationEditor.test.tsx @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect, beforeEach } from '@jest/globals'; import { type RenderResult, getByDisplayValue, diff --git a/packages/legend-studio/src/components/editor/edit-panel/mapping-editor/__tests__/EnumerationMappingEditor.test.tsx b/packages/legend-studio/src/components/editor/edit-panel/mapping-editor/__tests__/EnumerationMappingEditor.test.tsx index e2c06525..7d5b5100 100644 --- a/packages/legend-studio/src/components/editor/edit-panel/mapping-editor/__tests__/EnumerationMappingEditor.test.tsx +++ b/packages/legend-studio/src/components/editor/edit-panel/mapping-editor/__tests__/EnumerationMappingEditor.test.tsx @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect, beforeEach } from '@jest/globals'; import { type RenderResult, getAllByTitle, diff --git a/packages/legend-studio/src/components/editor/edit-panel/service-editor/__tests__/ServiceRegistrationTest.test.tsx b/packages/legend-studio/src/components/editor/edit-panel/service-editor/__tests__/ServiceRegistrationTest.test.tsx index e75bf6b6..d08bd987 100644 --- a/packages/legend-studio/src/components/editor/edit-panel/service-editor/__tests__/ServiceRegistrationTest.test.tsx +++ b/packages/legend-studio/src/components/editor/edit-panel/service-editor/__tests__/ServiceRegistrationTest.test.tsx @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, jest, expect } from '@jest/globals'; import { type RenderResult, getByPlaceholderText, diff --git a/packages/legend-studio/src/components/editor/edit-panel/uml-editor/__tests__/UMLEditor.test.tsx b/packages/legend-studio/src/components/editor/edit-panel/uml-editor/__tests__/UMLEditor.test.tsx index 3d72a9e0..610376e6 100644 --- a/packages/legend-studio/src/components/editor/edit-panel/uml-editor/__tests__/UMLEditor.test.tsx +++ b/packages/legend-studio/src/components/editor/edit-panel/uml-editor/__tests__/UMLEditor.test.tsx @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect, beforeEach } from '@jest/globals'; import { type RenderResult, getByText, diff --git a/packages/legend-studio/src/components/editor/side-bar/__tests__/CreateNewElement.test.tsx b/packages/legend-studio/src/components/editor/side-bar/__tests__/CreateNewElement.test.tsx index 6440511f..09baa72f 100644 --- a/packages/legend-studio/src/components/editor/side-bar/__tests__/CreateNewElement.test.tsx +++ b/packages/legend-studio/src/components/editor/side-bar/__tests__/CreateNewElement.test.tsx @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect, beforeEach } from '@jest/globals'; import { type RenderResult, waitFor, diff --git a/packages/legend-studio/src/components/editor/side-bar/__tests__/Explorer.test.tsx b/packages/legend-studio/src/components/editor/side-bar/__tests__/Explorer.test.tsx index 04fc37a8..e898e6bf 100644 --- a/packages/legend-studio/src/components/editor/side-bar/__tests__/Explorer.test.tsx +++ b/packages/legend-studio/src/components/editor/side-bar/__tests__/Explorer.test.tsx @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect, beforeEach } from '@jest/globals'; import { type RenderResult, getByText } from '@testing-library/react'; import TEST_DATA__m2mGraphEntities from '../../../../stores/__tests__/TEST_DATA__M2MGraphEntities.json'; import { integrationTest, guaranteeNonNullable } from '@finos/legend-shared'; diff --git a/packages/legend-studio/src/components/setup/__tests__/Setup.test.tsx b/packages/legend-studio/src/components/setup/__tests__/Setup.test.tsx index daa605f6..62958352 100644 --- a/packages/legend-studio/src/components/setup/__tests__/Setup.test.tsx +++ b/packages/legend-studio/src/components/setup/__tests__/Setup.test.tsx @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, jest, expect, beforeEach } from '@jest/globals'; import { waitFor } from '@testing-library/dom'; import { Setup } from '../../setup/Setup'; import { diff --git a/packages/legend-studio/src/stores/__tests__/ChangeDetection.test.ts b/packages/legend-studio/src/stores/__tests__/ChangeDetection.test.ts index 6acdba42..606307b0 100644 --- a/packages/legend-studio/src/stores/__tests__/ChangeDetection.test.ts +++ b/packages/legend-studio/src/stores/__tests__/ChangeDetection.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { test, expect } from '@jest/globals'; import { unitTest } from '@finos/legend-shared'; import { TEST__getTestEditorStore } from '../EditorStoreTestUtils'; import { flowResult } from 'mobx'; diff --git a/packages/legend-studio/src/stores/__tests__/ProjectDependencyManager.test.ts b/packages/legend-studio/src/stores/__tests__/ProjectDependencyManager.test.ts index a0f9b535..c36f8084 100644 --- a/packages/legend-studio/src/stores/__tests__/ProjectDependencyManager.test.ts +++ b/packages/legend-studio/src/stores/__tests__/ProjectDependencyManager.test.ts @@ -15,6 +15,7 @@ */ /// +import { test, jest, expect } from '@jest/globals'; import { type PlainObject, unitTest, @@ -306,7 +307,9 @@ const testDependencyElements = async ( editorStore.graphManagerState.graph.allOwnElements.map((el) => editorStore.graphManagerState.graphManager.elementToEntity(el), ); - expect(entities).toIncludeSameMembers(transformedEntities); + (expect(entities) as unknown as jest.Expect).toIncludeSameMembers( + transformedEntities, + ); // Ensure dependency elements are not transformed for (const entityPath of dependencyElementPaths) { expect( diff --git a/packages/legend-studio/src/stores/shared/__tests__/MockDataUtil.test.ts b/packages/legend-studio/src/stores/shared/__tests__/MockDataUtil.test.ts index 86e25f20..e3083e59 100644 --- a/packages/legend-studio/src/stores/shared/__tests__/MockDataUtil.test.ts +++ b/packages/legend-studio/src/stores/shared/__tests__/MockDataUtil.test.ts @@ -14,6 +14,8 @@ * limitations under the License. */ +/// +import { test, expect, beforeAll } from '@jest/globals'; import TEST_DATA__completeGraphEntities from './TEST_DATA__MockDataGeneration.json'; import { classHasCycle, createMockClassInstance } from '../MockDataUtil'; import { unitTest } from '@finos/legend-shared'; @@ -33,7 +35,9 @@ test(unitTest('Class with hierarchy cycle is detected'), () => { const _class = editorStore.graphManagerState.graph.getClass( 'myPackage::test::Misc', ); - expect(createMockClassInstance(_class)).toContainAllKeys([ + ( + expect(createMockClassInstance(_class)) as unknown as jest.Expect + ).toContainAllKeys([ 'string', 'boolean', 'float', @@ -75,14 +79,16 @@ test(unitTest('Test mock data with classes cycle'), () => { ); // 1st level const applicationKeys = ['applicant', 'employee', 'previousEmployeer']; - expect(applicationInstance).toContainAllKeys(applicationKeys); + (expect(applicationInstance) as unknown as jest.Expect).toContainAllKeys( + applicationKeys, + ); const applicantInstance = ( applicationInstance as { applicant: Record; } ).applicant; // 2nd level - expect(applicantInstance).toContainKeys([ + (expect(applicantInstance) as unknown as jest.Expect).toContainKeys([ 'userName', 'previousApplication', 'password', @@ -94,14 +100,16 @@ test(unitTest('Test mock data with classes cycle'), () => { previousApplication: Record; } ).previousApplication; - expect(secondApplicationInstance).toContainAllKeys(applicationKeys); + ( + expect(secondApplicationInstance) as unknown as jest.Expect + ).toContainAllKeys(applicationKeys); // 3rd level const secondApplicantInstance = ( secondApplicationInstance as { applicant: Record; } ).applicant; - expect(secondApplicantInstance).toContainKeys([ + (expect(secondApplicantInstance) as unknown as jest.Expect).toContainKeys([ 'userName', 'password', 'firstName', diff --git a/packages/legend-studio/src/stores/sidebar-state/__tests__/LocalChangeState.test.ts b/packages/legend-studio/src/stores/sidebar-state/__tests__/LocalChangeState.test.ts index 142471ed..7d3e780f 100644 --- a/packages/legend-studio/src/stores/sidebar-state/__tests__/LocalChangeState.test.ts +++ b/packages/legend-studio/src/stores/sidebar-state/__tests__/LocalChangeState.test.ts @@ -14,6 +14,8 @@ * limitations under the License. */ +/// +import { test, expect } from '@jest/globals'; import { applyEntityChanges, EntityChange } from '@finos/legend-server-sdlc'; import { unitTest } from '@finos/legend-shared'; import { flowResult } from 'mobx'; @@ -119,7 +121,9 @@ test(unitTest('Apply entity changes'), async () => { EntityChange.serialization.fromJson(e), ), ); - expect(changed).toIncludeSameMembers(changedEntities); + (expect(changed) as unknown as jest.Expect).toIncludeSameMembers( + changedEntities, + ); }); test(unitTest('Load entity changes'), async () => { diff --git a/packages/legend-taxonomy/package.json b/packages/legend-taxonomy/package.json index d90d22a0..cb590061 100644 --- a/packages/legend-taxonomy/package.json +++ b/packages/legend-taxonomy/package.json @@ -62,9 +62,9 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", + "@jest/globals": "28.0.2", "cross-env": "7.0.3", "eslint": "8.14.0", - "jest": "28.0.2", "npm-run-all": "4.1.5", "rimraf": "3.0.2", "sass": "1.51.0", diff --git a/packages/legend-tracer-extension-zipkin/package.json b/packages/legend-tracer-extension-zipkin/package.json index 7cf5532a..4948250e 100644 --- a/packages/legend-tracer-extension-zipkin/package.json +++ b/packages/legend-tracer-extension-zipkin/package.json @@ -49,9 +49,9 @@ }, "devDependencies": { "@finos/legend-dev-utils": "workspace:*", + "@jest/globals": "28.0.2", "cross-env": "7.0.3", "eslint": "8.14.0", - "jest": "28.0.2", "npm-run-all": "4.1.5", "rimraf": "3.0.2", "typescript": "4.6.3" diff --git a/yarn.lock b/yarn.lock index d79d43cb..7df259eb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1964,6 +1964,7 @@ __metadata: "@finos/legend-dev-utils": "workspace:*" "@finos/legend-graph": "workspace:*" "@finos/legend-shared": "workspace:*" + "@jest/globals": 28.0.2 "@types/css-font-loading-module": 0.0.7 "@types/react": 17.0.44 "@types/react-dom": 17.0.16 @@ -1971,7 +1972,6 @@ __metadata: cross-env: 7.0.3 eslint: 8.14.0 history: 5.3.0 - jest: 28.0.2 mobx: 6.5.0 mobx-react-lite: 3.3.0 monaco-editor: 0.33.0 @@ -2003,6 +2003,7 @@ __metadata: "@fontsource/roboto": 4.5.5 "@fontsource/roboto-condensed": 4.5.8 "@fontsource/roboto-mono": 4.5.7 + "@jest/globals": 28.0.2 "@mui/material": 5.6.3 "@types/react": 17.0.44 "@types/react-select": 4.0.18 @@ -2010,7 +2011,6 @@ __metadata: clsx: 1.1.1 cross-env: 7.0.3 eslint: 8.14.0 - jest: 28.0.2 mobx: 6.5.0 mobx-react-lite: 3.3.0 monaco-editor: 0.33.0 @@ -2046,6 +2046,7 @@ __metadata: "@changesets/logger": 0.0.5 "@changesets/read": 0.5.5 "@changesets/write": 0.1.8 + "@jest/globals": 28.0.2 "@juggle/resize-observer": 3.3.1 "@manypkg/get-packages": 1.1.3 "@pmmmwh/react-refresh-webpack-plugin": 0.5.5 @@ -2096,10 +2097,10 @@ __metadata: "@finos/legend-server-depot": "workspace:*" "@finos/legend-shared": "workspace:*" "@finos/legend-studio": "workspace:*" + "@jest/globals": 28.0.2 "@types/react": 17.0.44 cross-env: 7.0.3 eslint: 8.14.0 - jest: 28.0.2 mobx: 6.5.0 mobx-react-lite: 3.3.0 npm-run-all: 4.1.5 @@ -2126,11 +2127,11 @@ __metadata: "@finos/legend-model-storage": "workspace:*" "@finos/legend-shared": "workspace:*" "@finos/legend-studio": "workspace:*" + "@jest/globals": 28.0.2 "@testing-library/react": 12.1.5 "@types/react": 17.0.44 cross-env: 7.0.3 eslint: 8.14.0 - jest: 28.0.2 jest-canvas-mock: 2.3.1 mobx: 6.5.0 mobx-react-lite: 3.3.0 @@ -2158,10 +2159,10 @@ __metadata: "@finos/legend-model-storage": "workspace:*" "@finos/legend-shared": "workspace:*" "@finos/legend-studio": "workspace:*" + "@jest/globals": 28.0.2 "@types/react": 17.0.44 cross-env: 7.0.3 eslint: 8.14.0 - jest: 28.0.2 mobx: 6.5.0 npm-run-all: 4.1.5 react: 17.0.2 @@ -2185,10 +2186,10 @@ __metadata: "@finos/legend-model-storage": "workspace:*" "@finos/legend-shared": "workspace:*" "@finos/legend-studio": "workspace:*" + "@jest/globals": 28.0.2 "@types/react": 17.0.44 cross-env: 7.0.3 eslint: 8.14.0 - jest: 28.0.2 mobx: 6.5.0 mobx-react-lite: 3.3.0 npm-run-all: 4.1.5 @@ -2209,9 +2210,9 @@ __metadata: "@finos/legend-dev-utils": "workspace:*" "@finos/legend-graph": "workspace:*" "@finos/legend-shared": "workspace:*" + "@jest/globals": 28.0.2 cross-env: 7.0.3 eslint: 8.14.0 - jest: 28.0.2 npm-run-all: 4.1.5 rimraf: 3.0.2 typescript: 4.6.3 @@ -2231,9 +2232,9 @@ __metadata: "@finos/legend-server-sdlc": "workspace:*" "@finos/legend-shared": "workspace:*" "@finos/legend-studio": "workspace:*" + "@jest/globals": 28.0.2 cross-env: 7.0.3 eslint: 8.14.0 - jest: 28.0.2 npm-run-all: 4.1.5 rimraf: 3.0.2 sass: 1.51.0 @@ -2251,10 +2252,10 @@ __metadata: "@finos/legend-model-storage": "workspace:*" "@finos/legend-shared": "workspace:*" "@finos/legend-studio": "workspace:*" + "@jest/globals": 28.0.2 "@types/react": 17.0.44 cross-env: 7.0.3 eslint: 8.14.0 - jest: 28.0.2 mobx: 6.5.0 mobx-react-lite: 3.3.0 npm-run-all: 4.1.5 @@ -2281,9 +2282,9 @@ __metadata: "@finos/legend-server-sdlc": "workspace:*" "@finos/legend-shared": "workspace:*" "@finos/legend-studio": "workspace:*" + "@jest/globals": 28.0.2 cross-env: 7.0.3 eslint: 8.14.0 - jest: 28.0.2 mobx: 6.5.0 mobx-react-lite: 3.3.0 npm-run-all: 4.1.5 @@ -2324,9 +2325,9 @@ __metadata: "@finos/legend-extension-external-store-service": "workspace:*" "@finos/legend-graph": "workspace:*" "@finos/legend-shared": "workspace:*" + "@jest/globals": 28.0.2 cross-env: 7.0.3 eslint: 8.14.0 - jest: 28.0.2 npm-run-all: 4.1.5 rimraf: 3.0.2 typescript: 4.6.3 @@ -2340,10 +2341,10 @@ __metadata: "@finos/legend-dev-utils": "workspace:*" "@finos/legend-model-storage": "workspace:*" "@finos/legend-shared": "workspace:*" + "@jest/globals": 28.0.2 cross-env: 7.0.3 date-fns: 2.28.0 eslint: 8.14.0 - jest: 28.0.2 mobx: 6.5.0 mobx-react-lite: 3.3.0 npm-run-all: 4.1.5 @@ -2373,10 +2374,10 @@ __metadata: "@finos/legend-graph": "workspace:*" "@finos/legend-graph-extension-collection": "workspace:*" "@finos/legend-shared": "workspace:*" + "@jest/globals": 28.0.2 axios: 0.27.2 cross-env: 7.0.3 eslint: 8.14.0 - jest: 28.0.2 npm-run-all: 4.1.5 rimraf: 3.0.2 typescript: 4.6.3 @@ -2389,9 +2390,9 @@ __metadata: dependencies: "@finos/legend-dev-utils": "workspace:*" "@finos/legend-shared": "workspace:*" + "@jest/globals": 28.0.2 cross-env: 7.0.3 eslint: 8.14.0 - jest: 28.0.2 lodash: 4.17.21 npm-run-all: 4.1.5 rimraf: 3.0.2 @@ -2454,6 +2455,7 @@ __metadata: "@finos/legend-model-storage": "workspace:*" "@finos/legend-server-depot": "workspace:*" "@finos/legend-shared": "workspace:*" + "@jest/globals": 28.0.2 "@testing-library/dom": 8.13.0 "@testing-library/react": 12.1.5 "@types/papaparse": 5.3.2 @@ -2464,7 +2466,6 @@ __metadata: date-fns: 2.28.0 eslint: 8.14.0 history: 5.3.0 - jest: 28.0.2 mobx: 6.5.0 mobx-react-lite: 3.3.0 monaco-editor: 0.33.0 @@ -2492,9 +2493,9 @@ __metadata: "@finos/legend-dev-utils": "workspace:*" "@finos/legend-model-storage": "workspace:*" "@finos/legend-shared": "workspace:*" + "@jest/globals": 28.0.2 cross-env: 7.0.3 eslint: 8.14.0 - jest: 28.0.2 mobx: 6.5.0 mobx-react-lite: 3.3.0 npm-run-all: 4.1.5 @@ -2512,9 +2513,9 @@ __metadata: "@finos/legend-dev-utils": "workspace:*" "@finos/legend-model-storage": "workspace:*" "@finos/legend-shared": "workspace:*" + "@jest/globals": 28.0.2 cross-env: 7.0.3 eslint: 8.14.0 - jest: 28.0.2 mobx: 6.5.0 mobx-react-lite: 3.3.0 npm-run-all: 4.1.5 @@ -2530,6 +2531,7 @@ __metadata: resolution: "@finos/legend-shared@workspace:packages/legend-shared" dependencies: "@finos/legend-dev-utils": "workspace:*" + "@jest/globals": 28.0.2 "@types/lodash-es": 4.17.6 "@types/lossless-json": 1.0.1 "@types/object-hash": 2.2.1 @@ -2540,7 +2542,6 @@ __metadata: eslint: 8.14.0 hash.js: 1.1.7 http-status-codes: 2.2.0 - jest: 28.0.2 lodash: 4.17.21 lodash-es: 4.17.21 lossless-json: 1.0.5 @@ -2615,11 +2616,11 @@ __metadata: "@finos/legend-server-sdlc": "workspace:*" "@finos/legend-shared": "workspace:*" "@finos/legend-studio": "workspace:*" + "@jest/globals": 28.0.2 "@types/react": 17.0.44 "@types/react-router-dom": 5.3.2 cross-env: 7.0.3 eslint: 8.14.0 - jest: 28.0.2 mobx: 6.5.0 mobx-react-lite: 3.3.0 npm-run-all: 4.1.5 @@ -2647,12 +2648,12 @@ __metadata: "@finos/legend-server-depot": "workspace:*" "@finos/legend-shared": "workspace:*" "@finos/legend-studio": "workspace:*" + "@jest/globals": 28.0.2 "@testing-library/dom": 8.13.0 "@testing-library/react": 12.1.5 "@types/react": 17.0.44 cross-env: 7.0.3 eslint: 8.14.0 - jest: 28.0.2 mobx: 6.5.0 mobx-react-lite: 3.3.0 npm-run-all: 4.1.5 @@ -2678,6 +2679,7 @@ __metadata: "@finos/legend-server-depot": "workspace:*" "@finos/legend-server-sdlc": "workspace:*" "@finos/legend-shared": "workspace:*" + "@jest/globals": 28.0.2 "@testing-library/dom": 8.13.0 "@testing-library/react": 12.1.5 "@types/react": 17.0.44 @@ -2687,7 +2689,6 @@ __metadata: date-fns: 2.28.0 eslint: 8.14.0 history: 5.3.0 - jest: 28.0.2 mobx: 6.5.0 mobx-react-lite: 3.3.0 mobx-utils: 6.0.5 @@ -2764,13 +2765,13 @@ __metadata: "@finos/legend-model-storage": "workspace:*" "@finos/legend-server-depot": "workspace:*" "@finos/legend-shared": "workspace:*" + "@jest/globals": 28.0.2 "@types/react": 17.0.44 "@types/react-dom": 17.0.16 "@types/react-router-dom": 5.3.2 cross-env: 7.0.3 eslint: 8.14.0 history: 5.3.0 - jest: 28.0.2 mobx: 6.5.0 mobx-react-lite: 3.3.0 npm-run-all: 4.1.5 @@ -2795,10 +2796,10 @@ __metadata: dependencies: "@finos/legend-dev-utils": "workspace:*" "@finos/legend-shared": "workspace:*" + "@jest/globals": 28.0.2 "@types/zipkin-javascript-opentracing": 1.6.0 cross-env: 7.0.3 eslint: 8.14.0 - jest: 28.0.2 npm-run-all: 4.1.5 opentracing: 0.14.7 rimraf: 3.0.2 @@ -3014,7 +3015,7 @@ __metadata: languageName: node linkType: hard -"@jest/globals@npm:^28.0.2": +"@jest/globals@npm:28.0.2, @jest/globals@npm:^28.0.2": version: 28.0.2 resolution: "@jest/globals@npm:28.0.2" dependencies: @@ -3942,16 +3943,6 @@ __metadata: languageName: node linkType: hard -"@types/jest@npm:27.4.1": - version: 27.4.1 - resolution: "@types/jest@npm:27.4.1" - dependencies: - jest-matcher-utils: ^27.0.0 - pretty-format: ^27.0.0 - checksum: 5184f3eef4832d01ee8f59bed15eec45ccc8e29c724a5e6ce37bf74396b37bdf04f557000f45ba4fc38ae6075cf9cfcce3d7a75abc981023c61ceb27230a93e4 - languageName: node - linkType: hard - "@types/jsdom@npm:^16.2.4": version: 16.2.14 resolution: "@types/jsdom@npm:16.2.14" @@ -9490,7 +9481,7 @@ __metadata: languageName: node linkType: hard -"jest-diff@npm:^27.2.5, jest-diff@npm:^27.5.1": +"jest-diff@npm:^27.2.5": version: 27.5.1 resolution: "jest-diff@npm:27.5.1" dependencies: @@ -9625,18 +9616,6 @@ __metadata: languageName: node linkType: hard -"jest-matcher-utils@npm:^27.0.0": - version: 27.5.1 - resolution: "jest-matcher-utils@npm:27.5.1" - dependencies: - chalk: ^4.0.0 - jest-diff: ^27.5.1 - jest-get-type: ^27.5.1 - pretty-format: ^27.5.1 - checksum: bb2135fc48889ff3fe73888f6cc7168ddab9de28b51b3148f820c89fdfd2effdcad005f18be67d0b9be80eda208ad47290f62f03d0a33f848db2dd0273c8217a - languageName: node - linkType: hard - "jest-matcher-utils@npm:^28.0.2": version: 28.0.2 resolution: "jest-matcher-utils@npm:28.0.2" @@ -10224,7 +10203,6 @@ __metadata: "@finos/eslint-plugin-legend-studio": "workspace:*" "@finos/legend-dev-utils": "workspace:*" "@finos/stylelint-config-legend-studio": "workspace:*" - "@types/jest": 27.4.1 "@types/node": 17.0.29 chalk: 5.0.1 cross-env: 7.0.3 @@ -12978,7 +12956,7 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^27.0.0, pretty-format@npm:^27.0.2, pretty-format@npm:^27.5.1": +"pretty-format@npm:^27.0.2, pretty-format@npm:^27.5.1": version: 27.5.1 resolution: "pretty-format@npm:27.5.1" dependencies: -- 2.30.0