feat(state): localStorage player prefs for story and action display
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
||||
import { getPrefs, setPrefs } from '../prefs';
|
||||
|
||||
describe('prefs', () => {
|
||||
beforeEach(() => {
|
||||
vi.stubGlobal('localStorage', {
|
||||
store: {} as Record<string, string>,
|
||||
getItem(key: string) {
|
||||
return this.store[key] ?? null;
|
||||
},
|
||||
setItem(key: string, value: string) {
|
||||
this.store[key] = value;
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
it('returns defaults when localStorage empty', () => {
|
||||
expect(getPrefs()).toEqual({ storyOpenMode: 'auto', actionDetailMode: 'inline' });
|
||||
});
|
||||
|
||||
it('round-trips updated prefs', () => {
|
||||
setPrefs({ storyOpenMode: 'manual', actionDetailMode: 'hover' });
|
||||
expect(getPrefs().storyOpenMode).toBe('manual');
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user