From ba9552b4aa94e7b27f58aba25bd40eb904495547 Mon Sep 17 00:00:00 2001 From: Aster Fialla Date: Tue, 17 Feb 2026 17:38:06 -0500 Subject: [PATCH] updated jest to sort of work with es6 --- package.json | 12 +++++++++--- tests/env.jest | 2 ++ ...bersHelper.test.js => memberHelper.test.js} | 18 ++++++++++-------- tests/jest.config.js | 11 +++++++++++ tests/jest.setup.js | 2 ++ 5 files changed, 34 insertions(+), 11 deletions(-) create mode 100644 tests/env.jest rename tests/helpers/{membersHelper.test.js => memberHelper.test.js} (80%) create mode 100644 tests/jest.config.js create mode 100644 tests/jest.setup.js diff --git a/package.json b/package.json index 5cf0fb8..eea7e3a 100644 --- a/package.json +++ b/package.json @@ -22,15 +22,21 @@ "jest": "^30.2.0" }, "scripts": { - "test": "jest" + "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js" }, "jest": { "testEnvironment": "node", "coveragePathIgnorePatterns": [ "/node_modules/" ], - "moduleFileExtensions": ["js", "json"], - "testMatch": ["**/__tests__/**/*.js", "**/?(*.)+(spec|test).js"], + "moduleFileExtensions": [ + "js", + "json" + ], + "testMatch": [ + "**/__tests__/**/*.js", + "**/?(*.)+(spec|test).js" + ], "verbose": true } } diff --git a/tests/env.jest b/tests/env.jest new file mode 100644 index 0000000..c130787 --- /dev/null +++ b/tests/env.jest @@ -0,0 +1,2 @@ +FLUXER_BOT_TOKEN=jest-fluxer-bot-token +POSTGRES_PASSWORD=jest-postgres-password \ No newline at end of file diff --git a/tests/helpers/membersHelper.test.js b/tests/helpers/memberHelper.test.js similarity index 80% rename from tests/helpers/membersHelper.test.js rename to tests/helpers/memberHelper.test.js index b3ee50c..5d27624 100644 --- a/tests/helpers/membersHelper.test.js +++ b/tests/helpers/memberHelper.test.js @@ -1,12 +1,14 @@ -jest.mock('@fluxerjs/core', () => jest.fn()); -jest.mock('../../src/db.js', () => jest.fn()); -jest.mock('sequelize', () => jest.fn()); -jest.mock('../../src/enums.js', () => ({ - enums: jest.requireActual('../../src/enums.js') -})); +import {jest} from "@jest/globals"; -const {enums} = require("../../src/enums.js"); -const memberHelper = require("../../src/helpers/memberHelper.js"); +jest.unstable_mockModule('@fluxerjs/core', () => jest.fn()); +jest.unstable_mockModule('../../src/db.js', () => jest.fn()); +jest.unstable_mockModule('sequelize', () => jest.fn()); + +const { EmbedBuilder } = await import ("@fluxerjs/core"); +const { database } = await import('../../src/db.js'); +const { EmptyResultError, Op } = await import ('sequelize'); +import { enums } from "../../src/enums.js"; +import { memberHelper } from "../../src/helpers/memberHelper.js"; describe('parseMemberCommand', () => { diff --git a/tests/jest.config.js b/tests/jest.config.js new file mode 100644 index 0000000..bdee2b6 --- /dev/null +++ b/tests/jest.config.js @@ -0,0 +1,11 @@ +/** @type {import('jest').Config} */ +const config = { + clearMocks: true, + collectCoverage: true, + coverageDirectory: "coverage", + setupFiles: ["/jest.setup.js"], // path to a setup module to configure the testing environment before each test + transform: {}, + verbose: true, +}; + +export default config; diff --git a/tests/jest.setup.js b/tests/jest.setup.js new file mode 100644 index 0000000..f44af1b --- /dev/null +++ b/tests/jest.setup.js @@ -0,0 +1,2 @@ +import * as dotenv from "dotenv"; +dotenv.config({ path: "env.jest" });