From 8dc4e2da575483958b68b5f8e9236d7a2fc9c88b Mon Sep 17 00:00:00 2001 From: Danny Avila Date: Tue, 19 May 2026 14:01:56 -0400 Subject: [PATCH] test: Stabilize HITL abort fallback specs --- api/server/routes/agents/__tests__/abort.spec.js | 7 +++++-- api/server/routes/agents/index.js | 5 ++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/api/server/routes/agents/__tests__/abort.spec.js b/api/server/routes/agents/__tests__/abort.spec.js index 6d90d332df..9fe007596c 100644 --- a/api/server/routes/agents/__tests__/abort.spec.js +++ b/api/server/routes/agents/__tests__/abort.spec.js @@ -74,6 +74,10 @@ describe('Agent Abort Endpoint', () => { beforeEach(() => { jest.clearAllMocks(); + mockGenerationJobManager.getJob.mockReset(); + mockGenerationJobManager.abortJob.mockReset(); + mockGenerationJobManager.getActiveJobIdsForUser.mockReset(); + mockSaveMessage.mockReset(); }); describe('POST /chat/abort', () => { @@ -325,7 +329,6 @@ describe('Agent Abort Endpoint', () => { describe('Job Not Found', () => { it('should skip paused fallback jobs and abort the running job', async () => { mockGenerationJobManager.getJob - .mockResolvedValueOnce(null) .mockResolvedValueOnce({ status: 'requires_action', metadata: { userId: 'test-user-123' }, @@ -355,7 +358,7 @@ describe('Agent Abort Endpoint', () => { }); it('should not abort paused fallback jobs', async () => { - mockGenerationJobManager.getJob.mockResolvedValueOnce(null).mockResolvedValueOnce({ + mockGenerationJobManager.getJob.mockResolvedValueOnce({ status: 'requires_action', metadata: { userId: 'test-user-123' }, }); diff --git a/api/server/routes/agents/index.js b/api/server/routes/agents/index.js index 568afee3fa..5684fc9622 100644 --- a/api/server/routes/agents/index.js +++ b/api/server/routes/agents/index.js @@ -231,7 +231,10 @@ router.post('/chat/abort', async (req, res) => { // streamId === conversationId, so try any of the provided IDs // Skip "new" as it's a placeholder for new conversations, not an actual ID let jobStreamId = - streamId || (conversationId !== 'new' ? conversationId : null) || abortKey?.split(':')[0]; + streamId || + (conversationId !== 'new' ? conversationId : null) || + abortKey?.split(':')[0] || + null; let job = jobStreamId ? await GenerationJobManager.getJob(jobStreamId) : null; // Fallback: if job not found and we have a userId, look up active jobs for user