import { isThemePreference, resolveTheme, serverResolvedTheme } from '@/lib/theme/config'; import { describe, expect, it } from 'vitest'; describe('theme foundations', () => { it('accepts only approved preferences', () => { expect(isThemePreference('light')).toBe(true); expect(isThemePreference('dark')).toBe(true); expect(isThemePreference('system')).toBe(true); expect(isThemePreference('sepia')).toBe(false); }); it('keeps preference and resolved theme separate', () => { expect(resolveTheme('system', true)).toBe('dark'); expect(resolveTheme('system', false)).toBe('light'); expect(resolveTheme('light', true)).toBe('light'); expect(serverResolvedTheme('system')).toBe('light'); }); });