From f0ef0a87845764bae7610ee854592bb9800210f5 Mon Sep 17 00:00:00 2001 From: Adrien de Peretti Date: Wed, 6 Mar 2024 12:45:34 +0100 Subject: [PATCH] fix: integration-tests/modules (#6595) --- .changeset/fluffy-dancers-rest.md | 6 ++ integration-tests/helpers/admin-seeder.js | 2 +- .../__tests__/tax/workflow/tax.spec.ts | 2 +- .../modules/__tests__/users/get-me.spec.ts | 8 ++- .../modules/__tests__/workflow-engine/api.ts | 1 - integration-tests/modules/package.json | 2 +- .../src/medusa-test-runner.ts | 56 ++++++++----------- .../src/module-test-runner.ts | 26 +++------ packages/medusa/src/loaders/medusa-app.ts | 2 +- 9 files changed, 50 insertions(+), 55 deletions(-) create mode 100644 .changeset/fluffy-dancers-rest.md diff --git a/.changeset/fluffy-dancers-rest.md b/.changeset/fluffy-dancers-rest.md new file mode 100644 index 0000000000..3ed31159ec --- /dev/null +++ b/.changeset/fluffy-dancers-rest.md @@ -0,0 +1,6 @@ +--- +"@medusajs/medusa": patch +"medusa-test-utils": patch +--- + +fix: integration-tests/modules diff --git a/integration-tests/helpers/admin-seeder.js b/integration-tests/helpers/admin-seeder.js index 95f63c6326..74928ba921 100644 --- a/integration-tests/helpers/admin-seeder.js +++ b/integration-tests/helpers/admin-seeder.js @@ -1,5 +1,5 @@ const Scrypt = require("scrypt-kdf") -const { User } = require("@medusajs/medusa") +const { User } = require("@medusajs/medusa/dist/models/user") module.exports = async (dataSource, data = {}) => { const manager = dataSource.manager diff --git a/integration-tests/modules/__tests__/tax/workflow/tax.spec.ts b/integration-tests/modules/__tests__/tax/workflow/tax.spec.ts index 5b1f1ccfdb..df3e9f8488 100644 --- a/integration-tests/modules/__tests__/tax/workflow/tax.spec.ts +++ b/integration-tests/modules/__tests__/tax/workflow/tax.spec.ts @@ -28,7 +28,7 @@ medusaIntegrationTestRunner({ }) beforeEach(async () => { - await createAdminUser(dbConnection, adminHeaders) + await createAdminUser(dbConnection, adminHeaders, appContainer) }) it("compensates rules correctly", async () => { diff --git a/integration-tests/modules/__tests__/users/get-me.spec.ts b/integration-tests/modules/__tests__/users/get-me.spec.ts index f8ae17e48e..1116a424e0 100644 --- a/integration-tests/modules/__tests__/users/get-me.spec.ts +++ b/integration-tests/modules/__tests__/users/get-me.spec.ts @@ -12,8 +12,14 @@ medusaIntegrationTestRunner({ env, testSuite: ({ dbConnection, getContainer, api }) => { describe("POST /admin/users/me", () => { + let container + + beforeAll(() => { + container = getContainer() + }) + beforeEach(async () => { - await createAdminUser(dbConnection, adminHeaders) + await createAdminUser(dbConnection, adminHeaders, container) }) it("gets the current user", async () => { diff --git a/integration-tests/modules/__tests__/workflow-engine/api.ts b/integration-tests/modules/__tests__/workflow-engine/api.ts index 6cb1facbc1..7498e32e30 100644 --- a/integration-tests/modules/__tests__/workflow-engine/api.ts +++ b/integration-tests/modules/__tests__/workflow-engine/api.ts @@ -4,7 +4,6 @@ jest.setTimeout(5000000) const env = { MEDUSA_FF_MEDUSA_V2: false, - MEDUSA_FF_SALES_CHANNELS: true, } workflowEngineTestSuite(env, { force_modules_migration: true }) diff --git a/integration-tests/modules/package.json b/integration-tests/modules/package.json index 71f9a588f8..23ac038493 100644 --- a/integration-tests/modules/package.json +++ b/integration-tests/modules/package.json @@ -5,7 +5,7 @@ "license": "MIT", "private": true, "scripts": { - "test:integration": "node --expose-gc ./../../node_modules/.bin/jest --ci --silent=false -i --detectOpenHandles --logHeapUsage --forceExit", + "test:integration": "node --expose-gc ./../../node_modules/.bin/jest --ci --silent=true --concurrency=50% --detectOpenHandles --logHeapUsage --forceExit", "build": "babel src -d dist --extensions \".ts,.js\"" }, "dependencies": { diff --git a/packages/medusa-test-utils/src/medusa-test-runner.ts b/packages/medusa-test-utils/src/medusa-test-runner.ts index 128336ae26..b4b5cd0c51 100644 --- a/packages/medusa-test-utils/src/medusa-test-runner.ts +++ b/packages/medusa-test-utils/src/medusa-test-runner.ts @@ -182,35 +182,31 @@ export function medusaIntegrationTestRunner({ } as MedusaSuiteOptions const beforeAll_ = async () => { - try { - await dbUtils.create(dbName) - const { dbDataSource, pgConnection } = await initDb({ - cwd, - env, - force_modules_migration, - database_extra: {}, - dbUrl: dbConfig.clientUrl, - dbSchema: dbConfig.schema, - }) - dbUtils.db_ = dbDataSource - dbUtils.pgConnection_ = pgConnection + await dbUtils.create(dbName) + const { dbDataSource, pgConnection } = await initDb({ + cwd, + env, + force_modules_migration, + database_extra: {}, + dbUrl: dbConfig.clientUrl, + dbSchema: dbConfig.schema, + }) + dbUtils.db_ = dbDataSource + dbUtils.pgConnection_ = pgConnection - const { - shutdown: shutdown_, - container: container_, - port, - } = await startBootstrapApp({ - cwd, - env, - }) + const { + shutdown: shutdown_, + container: container_, + port, + } = await startBootstrapApp({ + cwd, + env, + }) - apiUtils = axios.create({ baseURL: `http://localhost:${port}` }) + apiUtils = axios.create({ baseURL: `http://localhost:${port}` }) - container = container_ - shutdown = shutdown_ - } catch (error) { - console.error("Error setting up integration environment:", error) - } + container = container_ + shutdown = shutdown_ } const afterEach_ = async () => { @@ -225,12 +221,8 @@ export function medusaIntegrationTestRunner({ beforeAll(beforeAll_) afterEach(afterEach_) afterAll(async () => { - try { - await dbUtils.shutdown(dbName) - await shutdown() - } catch (error) { - console.error("Error shutting down integration environment:", error) - } + await dbUtils.shutdown(dbName) + await shutdown() }) testSuite(options!) diff --git a/packages/medusa-test-utils/src/module-test-runner.ts b/packages/medusa-test-utils/src/module-test-runner.ts index bb31aae00c..bc36114936 100644 --- a/packages/medusa-test-utils/src/module-test-runner.ts +++ b/packages/medusa-test-utils/src/module-test-runner.ts @@ -113,26 +113,18 @@ export function moduleIntegrationTestRunner({ } as SuiteOptions const beforeEach_ = async () => { - try { - await MikroOrmWrapper.setupDatabase() - const output = await initModules(moduleOptions_) - shutdown = output.shutdown - medusaApp = output.medusaApp - moduleService = output.medusaApp.modules[moduleName] - } catch (error) { - console.error("Error setting up database:", error) - } + await MikroOrmWrapper.setupDatabase() + const output = await initModules(moduleOptions_) + shutdown = output.shutdown + medusaApp = output.medusaApp + moduleService = output.medusaApp.modules[moduleName] } const afterEach_ = async () => { - try { - await MikroOrmWrapper.clearDatabase() - await shutdown() - moduleService = {} - medusaApp = {} as MedusaAppOutput - } catch (error) { - console.error("Error tearing down database:", error) - } + await MikroOrmWrapper.clearDatabase() + await shutdown() + moduleService = {} + medusaApp = {} as MedusaAppOutput } return describe("", () => { diff --git a/packages/medusa/src/loaders/medusa-app.ts b/packages/medusa/src/loaders/medusa-app.ts index 1dc4c5836f..02e852b0d5 100644 --- a/packages/medusa/src/loaders/medusa-app.ts +++ b/packages/medusa/src/loaders/medusa-app.ts @@ -21,7 +21,7 @@ import { MedusaV2Flag, } from "@medusajs/utils" import { asValue } from "awilix" -import { remoteQueryFetchData } from ".." +import { remoteQueryFetchData } from "../utils/remote-query-fetch-data" import { joinerConfig } from "../joiner-config" export function mergeDefaultModules(