import { describe, it, expect } from 'vitest' import { DEFAULT_SETTINGS, useSettingsStore } from './settingsStore' // A fresh instance sends no value for a setting an admin hasn't defaulted, so DEFAULT_SETTINGS // is what a brand-new user actually sees. These guard against the two regressions in the // original bug: unit defaults that mix measurement systems (°F alongside kilometres), and a // store default that silently disagrees with DisplaySettingsTab's fallback. describe('settings defaults', () => { it('SETTINGS-DEFAULTS-001: the shipped unit defaults belong to one consistent system', () => { expect(DEFAULT_SETTINGS.temperature_unit).toBe('celsius') expect(DEFAULT_SETTINGS.distance_unit).toBe('metric') expect(DEFAULT_SETTINGS.time_format).toBe('24h') }) it('SETTINGS-DEFAULTS-002: the store initialises from DEFAULT_SETTINGS, the same constant DisplaySettingsTab falls back to, so the two cannot drift apart', () => { const settings = useSettingsStore.getState().settings expect(settings.temperature_unit).toBe(DEFAULT_SETTINGS.temperature_unit) expect(settings.distance_unit).toBe(DEFAULT_SETTINGS.distance_unit) expect(settings.time_format).toBe(DEFAULT_SETTINGS.time_format) }) })