39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
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');
|
|
});
|
|
});
|