Skip to content

Commit dbe9856

Browse files
author
StackMemory Bot (CLI)
committed
fix(test): mock canonicalStateStore in session tests
Session tests mocked fs/promises but not the canonical-store module. The canonicalStateStore singleton inherited the mocked fs, causing pathExists to return true while readFile returned undefined — crashing JSON.parse. Mock the entire canonical-store module with stubs for upsertSession, appendEvent, and endSession.
1 parent 079b395 commit dbe9856

2 files changed

Lines changed: 18 additions & 0 deletions

File tree

src/core/session/__tests__/session-manager.test.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,15 @@ vi.mock('child_process', () => ({
2121
execSync: vi.fn().mockReturnValue('main\n'),
2222
}));
2323

24+
vi.mock('../../shared-state/canonical-store.js', () => ({
25+
canonicalStateStore: {
26+
upsertSession: vi.fn().mockResolvedValue({}),
27+
appendEvent: vi.fn().mockResolvedValue(undefined),
28+
endSession: vi.fn().mockResolvedValue(undefined),
29+
initialize: vi.fn().mockResolvedValue(undefined),
30+
},
31+
}));
32+
2433
describe('SessionManager', () => {
2534
let manager: SessionManager;
2635

src/core/session/__tests__/session.test.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,15 @@ vi.mock('fs/promises', () => ({
2626
access: vi.fn(),
2727
}));
2828

29+
vi.mock('../../shared-state/canonical-store.js', () => ({
30+
canonicalStateStore: {
31+
upsertSession: vi.fn().mockResolvedValue({}),
32+
appendEvent: vi.fn().mockResolvedValue(undefined),
33+
endSession: vi.fn().mockResolvedValue(undefined),
34+
initialize: vi.fn().mockResolvedValue(undefined),
35+
},
36+
}));
37+
2938
vi.mock('child_process', () => ({
3039
execSync: vi.fn().mockReturnValue('main\n'),
3140
}));

0 commit comments

Comments
 (0)