import { test, expect } from '../../../fixtures/base'; test.describe('Chat session ID reset', { annotation: [ { type: 'owner', description: 'AI' }, ], }, () => { test.beforeEach(async ({ n8n }) => { await n8n.start.fromImportedWorkflow('Test_chat_partial_execution.json'); await n8n.notifications.quickCloseAll(); await n8n.canvas.clickZoomToFitButton(); await n8n.canvas.deselectAll(); }); test('should update session ID in node output when session is reset', async ({ n8n }) => { await n8n.canvas.logsPanel.open(); await n8n.canvas.logsPanel.sendManualChatMessage('Test message 1'); await expect(n8n.canvas.logsPanel.getManualChatMessages()).toHaveCount(2); const initialSessionId = await n8n.canvas.logsPanel.getSessionId(n8n.clipboard); await n8n.canvas.logsPanel.clickLogEntryAtRow(0); await expect(n8n.canvas.logsPanel.outputPanel.getTbodyCell(0, 1)).toContainText( initialSessionId, ); await n8n.canvas.logsPanel.refreshSession(); await expect(n8n.canvas.logsPanel.getManualChatMessages()).not.toBeAttached(); // Step 5: Get the new session ID const newSessionId = await n8n.canvas.logsPanel.getSessionId(n8n.clipboard); expect(newSessionId).not.toEqual(initialSessionId); await n8n.canvas.logsPanel.sendManualChatMessage('Test message 2'); await expect(n8n.canvas.logsPanel.getManualChatMessages()).toHaveCount(2); // Verify the NEW session ID in the output panel matches the chat header session ID await expect(n8n.canvas.logsPanel.outputPanel.getTbodyCell(0, 1)).toContainText(newSessionId); }); });