Files
resolutionflow/frontend/src/store/userPreferencesStore.test.ts
chihlasm 791fd133c4 test: set up Vitest with 61 frontend tests
Add Vitest + testing-library/react + jsdom for frontend testing.
Tests cover: cn() utility (6), usePermissions hook (27), useTreeValidation
hook (22), and userPreferencesStore (6). CI updated to run frontend tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 18:18:38 -05:00

46 lines
1.6 KiB
TypeScript

import { describe, it, expect, beforeEach } from 'vitest'
import { useUserPreferencesStore } from './userPreferencesStore'
describe('userPreferencesStore', () => {
beforeEach(() => {
// Reset store to defaults
useUserPreferencesStore.setState({
defaultExportFormat: 'markdown',
treeLibraryView: 'grid',
treeLibrarySortBy: 'usage_count',
})
})
it('has correct defaults', () => {
const state = useUserPreferencesStore.getState()
expect(state.defaultExportFormat).toBe('markdown')
expect(state.treeLibraryView).toBe('grid')
expect(state.treeLibrarySortBy).toBe('usage_count')
})
it('sets export format', () => {
useUserPreferencesStore.getState().setDefaultExportFormat('html')
expect(useUserPreferencesStore.getState().defaultExportFormat).toBe('html')
})
it('sets tree library view', () => {
useUserPreferencesStore.getState().setTreeLibraryView('list')
expect(useUserPreferencesStore.getState().treeLibraryView).toBe('list')
})
it('sets tree library view to table', () => {
useUserPreferencesStore.getState().setTreeLibraryView('table')
expect(useUserPreferencesStore.getState().treeLibraryView).toBe('table')
})
it('sets sort by', () => {
useUserPreferencesStore.getState().setTreeLibrarySortBy('name')
expect(useUserPreferencesStore.getState().treeLibrarySortBy).toBe('name')
})
it('sets sort by to created_at', () => {
useUserPreferencesStore.getState().setTreeLibrarySortBy('created_at')
expect(useUserPreferencesStore.getState().treeLibrarySortBy).toBe('created_at')
})
})