Files
lingxi-ai/tests/client/use-persistent-record.test.ts
T
yi 7d10320a82
Build / build (push) Has been cancelled
NPM Lockfile Check / npm ci --ignore-scripts (push) Has been cancelled
Playwright / e2e (push) Has been cancelled
feat: 灵犀 Studio Web UI 定制版
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-05 11:29:11 +08:00

29 lines
948 B
TypeScript

// @vitest-environment jsdom
import { beforeEach, describe, expect, it } from 'vitest'
import { usePersistentRecord } from '@/composables/usePersistentRecord'
describe('usePersistentRecord', () => {
beforeEach(() => localStorage.clear())
it('loads saved record and persists updates', () => {
localStorage.setItem('hermes.sidebar.collapsedGroups', JSON.stringify({ agent: true }))
const state = usePersistentRecord('hermes.sidebar.collapsedGroups')
expect(state.record.agent).toBe(true)
state.record.system = true
state.persist()
expect(JSON.parse(localStorage.getItem('hermes.sidebar.collapsedGroups') || '{}')).toEqual({
agent: true,
system: true,
})
})
it('ignores invalid stored values', () => {
localStorage.setItem('hermes.sidebar.collapsedGroups', 'not-json')
const state = usePersistentRecord('hermes.sidebar.collapsedGroups')
expect({ ...state.record }).toEqual({})
})
})