diff --git a/.jestconfig.json b/.jestconfig.json index 4f23f6339..d7e2ac66c 100644 --- a/.jestconfig.json +++ b/.jestconfig.json @@ -12,6 +12,9 @@ }, "setupFiles": [ "/__mocks__/console.js", + "/server/test/env.ts" + ], + "setupFilesAfterEnv": [ "/server/test/setup.ts" ], "testEnvironment": "node", diff --git a/server/__mocks__/RateLimiter.ts b/server/__mocks__/RateLimiter.ts deleted file mode 100644 index 60797599d..000000000 --- a/server/__mocks__/RateLimiter.ts +++ /dev/null @@ -1,28 +0,0 @@ -export default class MockRateLimiter { - static getRateLimiter() { - return { - points: 100, - consume: jest.fn(), - }; - } - - static setRateLimiter() { - // - } - - static hasRateLimiter() { - return false; - } -} - -export const RateLimiterStrategy = new Proxy( - {}, - { - get() { - return { - duration: 60, - requests: 10, - }; - }, - } -); diff --git a/server/test/env.ts b/server/test/env.ts new file mode 100644 index 000000000..3d5e3cac2 --- /dev/null +++ b/server/test/env.ts @@ -0,0 +1,14 @@ +import env from "../env"; + +// test environment variables +env.SMTP_HOST = "smtp.example.com"; +env.ENVIRONMENT = "test"; +env.GOOGLE_CLIENT_ID = "123"; +env.GOOGLE_CLIENT_SECRET = "123"; +env.SLACK_CLIENT_ID = "123"; +env.SLACK_CLIENT_SECRET = "123"; +env.DEPLOYMENT = undefined; + +if (process.env.DATABASE_URL_TEST) { + env.DATABASE_URL = process.env.DATABASE_URL_TEST; +} diff --git a/server/test/setup.ts b/server/test/setup.ts index 7ca14f7df..86a5e5af4 100644 --- a/server/test/setup.ts +++ b/server/test/setup.ts @@ -1,25 +1,10 @@ -import env from "../env"; +import Redis from "@server/redis"; -// test environment variables -env.SMTP_HOST = "smtp.example.com"; -env.ENVIRONMENT = "test"; -env.GOOGLE_CLIENT_ID = "123"; -env.GOOGLE_CLIENT_SECRET = "123"; -env.SLACK_CLIENT_ID = "123"; -env.SLACK_CLIENT_SECRET = "123"; -env.DEPLOYMENT = undefined; - -if (process.env.DATABASE_URL_TEST) { - env.DATABASE_URL = process.env.DATABASE_URL_TEST; -} - -// NOTE: this require must come after the ENV var override above +// NOTE: this require must come after the ENV var override // so that sequelize uses the test config variables require("@server/database/sequelize"); jest.mock("bull"); -jest.mock("rate-limiter-flexible"); -jest.mock("../RateLimiter"); // This is needed for the relative manual mock to be picked up jest.mock("../queues"); @@ -42,3 +27,5 @@ jest.mock("aws-sdk", () => { }); jest.mock("@getoutline/y-prosemirror", () => ({})); + +afterAll(() => Redis.defaultClient.disconnect());