Skip to content

Commit a07cfd8

Browse files
committed
Update service.test.ts
1 parent a26b7cf commit a07cfd8

1 file changed

Lines changed: 47 additions & 0 deletions

File tree

apps/twig/src/renderer/features/sessions/service/service.test.ts

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,53 @@ describe("SessionService", () => {
348348
// Access private map to verify it's cleared
349349
expect(() => service.reset()).not.toThrow();
350350
});
351+
352+
it("unsubscribes from all active subscriptions", async () => {
353+
const service = getSessionService();
354+
355+
// Setup: create mocks for subscriptions
356+
const eventUnsubscribe = vi.fn();
357+
const permissionUnsubscribe = vi.fn();
358+
mockTrpcAgent.onSessionEvent.subscribe.mockReturnValue({
359+
unsubscribe: eventUnsubscribe,
360+
});
361+
mockTrpcAgent.onPermissionRequest.subscribe.mockReturnValue({
362+
unsubscribe: permissionUnsubscribe,
363+
});
364+
365+
// Setup: create a task run to trigger subscription creation
366+
const createTaskRunMock = vi.fn().mockResolvedValue({ id: "run-456" });
367+
mockAuthStore.useAuthStore.getState.mockReturnValue({
368+
oauthAccessToken: "test-token",
369+
cloudRegion: "us",
370+
projectId: 123,
371+
client: {
372+
createTaskRun: createTaskRunMock,
373+
appendTaskRunLog: vi.fn(),
374+
},
375+
});
376+
mockTrpcAgent.start.mutate.mockResolvedValue({
377+
channel: "test-channel",
378+
configOptions: [],
379+
});
380+
381+
// Connect to task (this creates subscriptions)
382+
await service.connectToTask({
383+
task: createMockTask({ id: "task-456" }),
384+
repoPath: "/repo",
385+
});
386+
387+
// Verify subscriptions were created
388+
expect(mockTrpcAgent.onSessionEvent.subscribe).toHaveBeenCalled();
389+
expect(mockTrpcAgent.onPermissionRequest.subscribe).toHaveBeenCalled();
390+
391+
// Reset the service
392+
service.reset();
393+
394+
// Verify unsubscribe was called for both subscriptions
395+
expect(eventUnsubscribe).toHaveBeenCalled();
396+
expect(permissionUnsubscribe).toHaveBeenCalled();
397+
});
351398
});
352399

353400
describe("sendPrompt", () => {

0 commit comments

Comments
 (0)