From 92318608dd97c1731618be54dc8a42ad887d6ec0 Mon Sep 17 00:00:00 2001 From: Jackson Roberts Date: Wed, 8 Apr 2026 03:22:57 +0000 Subject: [PATCH] fix(tests): mock workert module in setup to prevent PgBoss crash on missing DATABASE_URL --- api/tests/setup.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/api/tests/setup.ts b/api/tests/setup.ts index 9d258c4..4836175 100644 --- a/api/tests/setup.ts +++ b/api/tests/setup.ts @@ -44,6 +44,22 @@ mock.module("../src/modules/fetchMicrosoftUser", () => ({ fetchMicrosoftUser: mock(() => Promise.resolve({})), })); +// --------------------------------------------------------------------------- +// Mock workert — instantiates PgBoss at module load time which requires +// DATABASE_URL. Tests don't have a real DB, so we stub all exports. +// --------------------------------------------------------------------------- +mock.module("../src/workert", () => ({ + getBoss: mock(() => ({ + send: mock(() => Promise.resolve("mock-job-id")), + createQueue: mock(() => Promise.resolve()), + start: mock(() => Promise.resolve()), + on: mock(), + })), + initializeWorkerSystem: mock(() => Promise.resolve()), + ensureManagerSocketReady: mock(() => Promise.resolve({ on: mock(), emit: mock() })), + reserveWorkerId: mock(() => Promise.resolve("mock-worker-id")), +})); + mock.module("../src/managers/sessions", () => ({ sessions: { create: mock(() =>