Files
EJClaw/src/db-sessions.test.ts
Eyejoker 86e3fa7521 [codex] Clear role-scoped sessions (#139)
* add gated codex goals support

* sync README SDK versions

* bump claude agent sdk

* add codex goals settings toggle

* reuse status dashboard message and simplify settings actions

* refine settings page UX

* fix settings nav hash routing

* add dashboard UX verification

* refine dashboard settings and inbox UX

* remove inbox top-level navigation

* remove dashboard health top-level navigation

* fix: allow runtime image attachment paths

* feat: configure attachment allowlist dirs

* fix: clean duplicate dashboard status messages

* fix: poll dashboard duplicate cleanup between status updates

* fix: delete dashboard duplicates on create

* Refine settings IA with tabbed sections

* Add read-only runtime inventory settings

* Fix runtime inventory MCP JSON parsing

* Add room skill settings inventory

* Add room skill setting mutations

* Apply room skill overrides to runner spawn

* Refine scheduled task dashboard UX

* Remove reviewer final prompt reinjection

* Stabilize pnpm verification fixture

* Remove previous owner final prompt carryover

* Clear role-scoped sessions
2026-05-17 01:02:40 +08:00

29 lines
822 B
TypeScript

import { beforeEach, describe, expect, it } from 'vitest';
import {
_initTestDatabase,
deleteAllSessionsForGroup,
getSession,
setSession,
} from './db.js';
describe('session accessors', () => {
beforeEach(() => {
_initTestDatabase();
});
it('deletes owner, reviewer, and arbiter role-scoped sessions for a group', () => {
setSession('group-a', 'owner-session');
setSession('group-a:reviewer', 'reviewer-session');
setSession('group-a:arbiter', 'arbiter-session');
setSession('group-b', 'other-session');
deleteAllSessionsForGroup('group-a');
expect(getSession('group-a')).toBeUndefined();
expect(getSession('group-a:reviewer')).toBeUndefined();
expect(getSession('group-a:arbiter')).toBeUndefined();
expect(getSession('group-b')).toBe('other-session');
});
});