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:
@@ -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.
|
||||
|
||||
@@ -2409,6 +2409,10 @@ describe("POST /tasks/:id/review/refresh", () => {
|
||||
store = createMockStore();
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
vi.restoreAllMocks();
|
||||
});
|
||||
|
||||
function buildApp() {
|
||||
const app = express();
|
||||
app.use(express.json());
|
||||
|
||||
@@ -50,6 +50,7 @@ describe("routes secrets sync", () => {
|
||||
|
||||
beforeEach(async () => {
|
||||
vi.restoreAllMocks();
|
||||
mockedFetchFromRemoteNode.mockClear();
|
||||
fixture = await createFixture("fn-secrets-sync-");
|
||||
secrets = fixture.secretsStore;
|
||||
|
||||
|
||||
@@ -1141,6 +1141,10 @@ describe("PUT /settings/global", () => {
|
||||
store = createMockStore();
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
vi.restoreAllMocks();
|
||||
});
|
||||
|
||||
function buildApp() {
|
||||
const app = express();
|
||||
app.use(express.json());
|
||||
|
||||
Reference in New Issue
Block a user