From 295f6be146dff6650216259bdf3e64165e5e3691 Mon Sep 17 00:00:00 2001 From: Trevor <44841876+trevster344@users.noreply.github.com> Date: Tue, 23 Sep 2025 02:27:52 -0500 Subject: [PATCH] Fixed premature teardown in medusa-test-runner (#13038) * Fixed premature teardown in medusa-test-runner * modified: packages/medusa-test-utils/src/medusa-test-runner.ts * new file: .changeset/clever-balloons-learn.md modified: packages/medusa-test-utils/src/medusa-test-runner.ts * modified: packages/medusa-test-utils/src/medusa-test-runner.ts * modified: packages/medusa-test-utils/src/medusa-test-runner.ts modified: packages/medusa-test-utils/src/medusa-test-runner.ts modified: packages/medusa-test-utils/src/medusa-test-runner.ts * modified: packages/medusa-test-utils/src/medusa-test-runner.ts * modified: packages/medusa-test-utils/src/medusa-test-runner.ts * Fix optional chaining in afterEach method * added missing implementation of disableAutoTeardown feature in the medusaIntegrationTestRunner method. --------- Co-authored-by: Trevor N. Co-authored-by: William Bouchard <46496014+willbouch@users.noreply.github.com> Co-authored-by: Adrien de Peretti --- .changeset/clever-balloons-learn.md | 5 +++++ packages/medusa-test-utils/src/medusa-test-runner.ts | 12 +++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 .changeset/clever-balloons-learn.md diff --git a/.changeset/clever-balloons-learn.md b/.changeset/clever-balloons-learn.md new file mode 100644 index 0000000000..4c5ee8b17a --- /dev/null +++ b/.changeset/clever-balloons-learn.md @@ -0,0 +1,5 @@ +--- +"@medusajs/test-utils": patch +--- + +fix-medusa-test-runner-premature-teardown diff --git a/packages/medusa-test-utils/src/medusa-test-runner.ts b/packages/medusa-test-utils/src/medusa-test-runner.ts index b67727d4a2..af3bb458ae 100644 --- a/packages/medusa-test-utils/src/medusa-test-runner.ts +++ b/packages/medusa-test-utils/src/medusa-test-runner.ts @@ -45,6 +45,7 @@ interface TestRunnerConfig { env?: Record dbName?: string medusaConfigFile?: string + disableAutoTeardown?: boolean schema?: string debug?: boolean inApp?: boolean @@ -58,6 +59,7 @@ class MedusaTestRunner { private dbName: string private schema: string private modulesConfigPath: string + private disableAutoTeardown: boolean private cwd: string private env: Record private debug: boolean @@ -92,6 +94,7 @@ class MedusaTestRunner { this.env = config.env ?? {} this.debug = config.debug ?? false this.inApp = config.inApp ?? false + this.disableAutoTeardown = config?.disableAutoTeardown ?? false this.dbUtils = dbTestUtilFactory() this.dbConfig = { @@ -290,7 +293,11 @@ class MedusaTestRunner { public async afterEach(): Promise { try { await waitWorkflowExecutions(this.globalContainer as MedusaContainer) - await this.dbUtils.teardown({ schema: this.schema }) + + if (!this.disableAutoTeardown) { + // Perform automatic teardown + await this.dbUtils.teardown({ schema: this.schema }) + } } catch (error) { logger.error("Error tearing down database:", error?.message) throw error @@ -328,6 +335,7 @@ export function medusaIntegrationTestRunner({ testSuite, hooks, cwd, + disableAutoTeardown, }: { moduleName?: string env?: Record @@ -339,6 +347,7 @@ export function medusaIntegrationTestRunner({ testSuite: (options: MedusaSuiteOptions) => void hooks?: TestRunnerConfig["hooks"] cwd?: string + disableAutoTeardown?: boolean }) { const runner = new MedusaTestRunner({ moduleName, @@ -350,6 +359,7 @@ export function medusaIntegrationTestRunner({ inApp, hooks, cwd, + disableAutoTeardown, }) return describe("", () => {