From 4befd2e4ff09048d53e13e2488a88bbef60eb83e Mon Sep 17 00:00:00 2001 From: James Date: Mon, 1 Apr 2024 15:29:27 -0400 Subject: [PATCH] chore: sets env vars for tests in globalSetup --- test/helpers/startMemoryDB.ts | 4 ---- test/jest.config.js | 7 +++++++ test/playwright.config.ts | 6 ++++++ test/setup.ts | 7 +++++++ 4 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 test/setup.ts diff --git a/test/helpers/startMemoryDB.ts b/test/helpers/startMemoryDB.ts index 1e3b9918d9..e214419451 100644 --- a/test/helpers/startMemoryDB.ts +++ b/test/helpers/startMemoryDB.ts @@ -1,10 +1,6 @@ import { MongoMemoryReplSet } from 'mongodb-memory-server' export const startMemoryDB = async () => { - process.env.NODE_ENV = 'test' - process.env.PAYLOAD_DROP_DATABASE = 'true' - process.env.NODE_OPTIONS = '--no-deprecation' - if ( (!process.env.PAYLOAD_DATABASE || process.env.PAYLOAD_DATABASE === 'mongoose') && !global._mongoMemoryServer diff --git a/test/jest.config.js b/test/jest.config.js index 41f2102afb..ffc6eef5b6 100644 --- a/test/jest.config.js +++ b/test/jest.config.js @@ -1,3 +1,9 @@ +import path from 'path' +import { fileURLToPath } from 'url' + +const filename = fileURLToPath(import.meta.url) +const dirname = path.dirname(filename) + /** @type {import('jest').Config} */ const customJestConfig = { extensionsToTreatAsEsm: ['.ts', '.tsx'], @@ -10,6 +16,7 @@ const customJestConfig = { }, reporters: ['default', ['github-actions', { silent: false }], 'summary'], testEnvironment: 'node', + globalSetup: path.resolve(dirname, 'setup.ts'), testMatch: ['/**/*int.spec.ts'], testTimeout: 90000, transform: { diff --git a/test/playwright.config.ts b/test/playwright.config.ts index 85218d8abc..0a4eb660a9 100644 --- a/test/playwright.config.ts +++ b/test/playwright.config.ts @@ -1,4 +1,9 @@ import { defineConfig } from '@playwright/test' +import path from 'path' +import { fileURLToPath } from 'url' + +const filename = fileURLToPath(import.meta.url) +const dirname = path.dirname(filename) export const EXPECT_TIMEOUT = 45000 export const POLL_TOPASS_TIMEOUT = EXPECT_TIMEOUT * 4 // That way expect.poll() or expect().toPass can retry 4 times. 4x higher than default expect timeout => can retry 4 times if retryable expects are used inside @@ -13,6 +18,7 @@ export default defineConfig({ trace: 'retain-on-failure', video: 'retain-on-failure', }, + globalSetup: path.resolve(dirname, 'setup.ts'), expect: { timeout: EXPECT_TIMEOUT, }, diff --git a/test/setup.ts b/test/setup.ts new file mode 100644 index 0000000000..7c9d95262e --- /dev/null +++ b/test/setup.ts @@ -0,0 +1,7 @@ +// eslint-disable-next-line no-restricted-exports +export default () => { + // @ts-expect-error + process.env.NODE_ENV = 'test' + process.env.PAYLOAD_DROP_DATABASE = 'true' + process.env.NODE_OPTIONS = '--no-deprecation' +}