Merge teacher reply cleanup with continuous conversations
This commit is contained in:
commit
581ebc888b
40 files changed
+1759
-1988
No files matched your search
@@ -0,0 +1,31 @@
|
||||
// @vitest-environment node
|
||||
import { describe, expect, it, vi } from 'vitest';
|
||||
import type { IncomingMessage, ServerResponse } from 'node:http';
|
||||
import { Readable } from 'node:stream';
|
||||
import type { HostApiContext } from '../../electron/api/context';
|
||||
import { handleCodingTeacherRoutes } from '../../electron/api/routes/coding-teacher';
|
||||
|
||||
describe('retired discussion mutation routes', () => {
|
||||
it.each([
|
||||
'/api/coding/projects/project/conversations/source/teacher-topics/topic/discussion',
|
||||
'/api/coding/teacher-preview/topics/topic/discussion',
|
||||
'/api/coding/projects/project/agent-topics/topic/discussion',
|
||||
'/api/coding/projects/project/teacher-topics/topic/discussion',
|
||||
'/api/coding/projects/project/friend-topics/topic/discussion',
|
||||
'/api/coding/agent-conversations/agent/discussion',
|
||||
])('does not dispatch a stale client action at %s', async pathname => {
|
||||
const req = Object.assign(Readable.from([JSON.stringify({
|
||||
toolId: 'archived-tool', revision: 7, action: 'resume',
|
||||
})]), { method: 'POST' }) as IncomingMessage;
|
||||
const res = { setHeader: vi.fn(), end: vi.fn() };
|
||||
const updateDiscussion = vi.fn().mockResolvedValue({});
|
||||
const conversation = vi.fn();
|
||||
const ctx = { codingProducts: { teacher: { updateDiscussion, conversation } } } as unknown as HostApiContext;
|
||||
|
||||
expect(await handleCodingTeacherRoutes(req, res as unknown as ServerResponse,
|
||||
new URL(pathname, 'http://localhost'), ctx)).toBe(false);
|
||||
expect(updateDiscussion).not.toHaveBeenCalled();
|
||||
expect(conversation).not.toHaveBeenCalled();
|
||||
expect(res.end).not.toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user