feat: add appMode preference (clipper/player) with persistence
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
38
tests/lib/stores/preferences.test.ts
Normal file
38
tests/lib/stores/preferences.test.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
||||
|
||||
// Mock the Tauri store before importing the module under test
|
||||
vi.mock('@tauri-apps/plugin-store', () => {
|
||||
const mockStore = {
|
||||
get: vi.fn().mockResolvedValue(null),
|
||||
set: vi.fn().mockResolvedValue(undefined),
|
||||
save: vi.fn().mockResolvedValue(undefined),
|
||||
};
|
||||
return {
|
||||
load: vi.fn().mockResolvedValue(mockStore),
|
||||
Store: vi.fn(),
|
||||
};
|
||||
});
|
||||
|
||||
describe('preferences store — appMode', () => {
|
||||
beforeEach(() => {
|
||||
vi.resetModules();
|
||||
});
|
||||
|
||||
it('defaults appMode to clipper', async () => {
|
||||
const { preferences } = await import('$lib/stores/preferences.svelte');
|
||||
expect(preferences.appMode).toBe('clipper');
|
||||
});
|
||||
|
||||
it('setAppMode updates appMode to player', async () => {
|
||||
const { preferences, setAppMode } = await import('$lib/stores/preferences.svelte');
|
||||
await setAppMode('player');
|
||||
expect(preferences.appMode).toBe('player');
|
||||
});
|
||||
|
||||
it('setAppMode updates appMode back to clipper', async () => {
|
||||
const { preferences, setAppMode } = await import('$lib/stores/preferences.svelte');
|
||||
await setAppMode('player');
|
||||
await setAppMode('clipper');
|
||||
expect(preferences.appMode).toBe('clipper');
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user