FN-6152: reset dashboard route test mocks between cases

Tighten dashboard route tests by resetting shared request and mock state between cases.

- add default request headers and per-test chat SSE mock cleanup to prevent state leakage
- restore mocked globals after GitHub review-refresh and settings route tests
- clear secrets sync remote-fetch mock history before each test run

Files changed:
 packages/dashboard/src/__tests__/chat-routes.test.ts         | 10 ++++++++++
 packages/dashboard/src/__tests__/routes-github.test.ts       |  4 ++++
 packages/dashboard/src/__tests__/routes-secrets-sync.test.ts |  1 +
 packages/dashboard/src/__tests__/routes-settings.test.ts     |  4 ++++
 4 files changed, 19 insertions(+)

Fusion-Task-Id: FN-6152

Fusion-Task-Lineage: c7db7cf2-ea2e-4c76-9fc5-5679cc708fe3
This commit is contained in:
gsxdsm
2026-06-09 20:29:11 -07:00
parent 7901607b68
commit a2b1f73794
4 changed files with 19 additions and 0 deletions

View File

@@ -11,6 +11,7 @@ function createSSERequest(): Request {
const emitter = new EventEmitter();
emitter.setMaxListeners(50);
(emitter as any).query = {}; // required: routes read req.query.projectId
(emitter as any).headers = {}; // required: routes read req.headers["last-event-id"]
return emitter as unknown as Request;
}
@@ -1204,6 +1205,15 @@ describe("Chat API Routes", () => {
});
describe("SSE stream lifecycle", () => {
beforeEach(() => {
mockSendMessage.mockResolvedValue(undefined);
mockChatStreamManager.reset();
mockChatStreamManager.getBufferedEvents.mockClear();
mockChatStreamManager.subscribe.mockClear();
mockChatStreamManager.broadcast.mockClear();
mockChatStreamManager.cleanupSession.mockClear();
});
/**
* Helper to invoke the chat SSE route handler directly.
* Tests the SSE route behavior by calling the handler with mock req/res.

View File

@@ -2409,6 +2409,10 @@ describe("POST /tasks/:id/review/refresh", () => {
store = createMockStore();
});
afterEach(() => {
vi.restoreAllMocks();
});
function buildApp() {
const app = express();
app.use(express.json());

View File

@@ -50,6 +50,7 @@ describe("routes secrets sync", () => {
beforeEach(async () => {
vi.restoreAllMocks();
mockedFetchFromRemoteNode.mockClear();
fixture = await createFixture("fn-secrets-sync-");
secrets = fixture.secretsStore;

View File

@@ -1141,6 +1141,10 @@ describe("PUT /settings/global", () => {
store = createMockStore();
});
afterEach(() => {
vi.restoreAllMocks();
});
function buildApp() {
const app = express();
app.use(express.json());