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'); }); });