test(layoutStore): silence expected warn in invalid-JSON case
The "defaults to list mode when localStorage has invalid data" test feeds invalid JSON on purpose; createPersistentStore logs and swallows the parse error, so its warning (with stack) was polluting CI output. Spy on console.warn to silence it and assert it fired, matching the equivalent test in createPersistentStore.test.ts.
This commit is contained in:
@@ -7,6 +7,7 @@ import {
|
|||||||
describe,
|
describe,
|
||||||
expect,
|
expect,
|
||||||
it,
|
it,
|
||||||
|
vi,
|
||||||
} from 'vitest';
|
} from 'vitest';
|
||||||
|
|
||||||
// Helper to flush Svelte effects (they run in microtasks)
|
// Helper to flush Svelte effects (they run in microtasks)
|
||||||
@@ -69,12 +70,17 @@ describe('layoutStore', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('should default to list mode when localStorage has invalid data', async () => {
|
it('should default to list mode when localStorage has invalid data', async () => {
|
||||||
|
// createPersistentStore logs and swallows the parse error; silence
|
||||||
|
// the expected warn so it doesn't pollute test output, and assert it.
|
||||||
|
const warnSpy = vi.spyOn(console, 'warn').mockImplementation(() => {});
|
||||||
localStorage.setItem(STORAGE_KEY, 'invalid json');
|
localStorage.setItem(STORAGE_KEY, 'invalid json');
|
||||||
|
|
||||||
const { LayoutManager } = await import('./layoutStore.svelte');
|
const { LayoutManager } = await import('./layoutStore.svelte');
|
||||||
const manager = new LayoutManager();
|
const manager = new LayoutManager();
|
||||||
|
|
||||||
expect(manager.mode).toBe('list');
|
expect(manager.mode).toBe('list');
|
||||||
|
expect(warnSpy).toHaveBeenCalled();
|
||||||
|
warnSpy.mockRestore();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should default to list mode when localStorage has empty object', async () => {
|
it('should default to list mode when localStorage has empty object', async () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user