From 61881d6d0f055e9362cfcb4f16c2e17faf134b7a Mon Sep 17 00:00:00 2001 From: Weiko Date: Wed, 12 Feb 2025 18:49:26 +0100 Subject: [PATCH] Fix relation creation (#10171) ## Context We recently introduced a createMany on the field metadata service to improve seeding performances. This broke relation metadata creation because it was using a method with the same name that was inherited from TypeOrmQueryService. --- .vscode/launch.json | 21 +++++++++++++ .../twenty-server/jest-integration.config.ts | 30 +++++++++++++++++-- .../relation-metadata.service.ts | 2 +- 3 files changed, 49 insertions(+), 4 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 50c68cc07..3eb8c922c 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -60,6 +60,27 @@ "cwd": "${workspaceFolder}", "internalConsoleOptions": "neverOpen", "envFile": "${workspaceFolder}/packages/twenty-e2e-testing/.env" + }, + { + "type": "node", + "request": "launch", + "name": "Debug Integration Test File", + "runtimeExecutable": "npx", + "runtimeArgs": [ + "nx", + "run", + "twenty-server:jest", + "--", + "--config", + "./jest-integration.config.ts", + "${relativeFile}" + ], + "cwd": "${workspaceFolder}/packages/twenty-server", + "console": "integratedTerminal", + "internalConsoleOptions": "neverOpen", + "env": { + "NODE_ENV": "test" + }, } ] } \ No newline at end of file diff --git a/packages/twenty-server/jest-integration.config.ts b/packages/twenty-server/jest-integration.config.ts index 99b500c9c..d35bc5a9f 100644 --- a/packages/twenty-server/jest-integration.config.ts +++ b/packages/twenty-server/jest-integration.config.ts @@ -18,6 +18,33 @@ const jestConfig: JestConfigWithTsJest = { globalTeardown: '/test/integration/utils/teardown-test.ts', testTimeout: 15000, maxWorkers: 1, + transform: { + '^.+\\.(t|j)s$': [ + '@swc/jest', + { + jsc: { + parser: { + syntax: 'typescript', + tsx: false, + decorators: true, + }, + transform: { + decoratorMetadata: true, + }, + experimental: { + plugins: [ + [ + '@lingui/swc-plugin', + { + stripNonEssentialFields: false, + }, + ], + ], + }, + }, + }, + ], + }, moduleNameMapper: { ...pathsToModuleNameMapper(tsConfig.compilerOptions.paths, { prefix: '/../..', @@ -29,9 +56,6 @@ const jestConfig: JestConfigWithTsJest = { fakeTimers: { enableGlobally: true, }, - transform: { - '^.+\\.(t|j)s$': 'ts-jest', - }, globals: { APP_PORT: 4000, ACCESS_TOKEN: diff --git a/packages/twenty-server/src/engine/metadata-modules/relation-metadata/relation-metadata.service.ts b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/relation-metadata.service.ts index 2a65510f3..537b03e5b 100644 --- a/packages/twenty-server/src/engine/metadata-modules/relation-metadata/relation-metadata.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/relation-metadata.service.ts @@ -93,7 +93,7 @@ export class RelationMetadataService extends TypeOrmQueryService