{"version":3,"file":"settings-manager-auto-handoff.test.d.ts","sourceRoot":"","sources":["../../src/core/settings-manager-auto-handoff.test.ts"],"names":[],"mappings":"","sourcesContent":["import { describe, expect, it } from \"vitest\";\nimport { SettingsManager } from \"./settings-manager.ts\";\n\ndescribe(\"auto handoff settings\", () => {\n\tit(\"seeds persisted defaults for existing user settings\", async () => {\n\t\tconst manager = SettingsManager.inMemory({ theme: \"dark\" });\n\t\tawait manager.flush();\n\t\tawait manager.reload();\n\n\t\texpect(manager.getAutoHandoffEnabled()).toBe(false);\n\t\texpect(manager.getAutoHandoffThresholdTokens()).toBe(128_000);\n\t\texpect(manager.getGlobalSettings().autoHandoff).toEqual({\n\t\t\tenabled: false,\n\t\t\tthresholdTokens: 128_000,\n\t\t});\n\t});\n\n\tit(\"preserves configured auto handoff values while filling missing fields\", async () => {\n\t\tconst manager = SettingsManager.inMemory({ autoHandoff: { enabled: true } });\n\t\tawait manager.flush();\n\n\t\texpect(manager.getGlobalSettings().autoHandoff).toEqual({\n\t\t\tenabled: true,\n\t\t\tthresholdTokens: 128_000,\n\t\t});\n\t});\n\n\tit(\"persists enabled state\", async () => {\n\t\tconst manager = SettingsManager.inMemory();\n\t\tmanager.setAutoHandoffEnabled(true);\n\t\tawait manager.flush();\n\t\texpect(manager.getAutoHandoffEnabled()).toBe(true);\n\t\texpect(manager.getGlobalSettings().autoHandoff?.enabled).toBe(true);\n\t});\n\n\tit(\"persists threshold and clamps to minimum 1000\", async () => {\n\t\tconst manager = SettingsManager.inMemory();\n\t\tmanager.setAutoHandoffThresholdTokens(64_000);\n\t\tawait manager.flush();\n\t\texpect(manager.getAutoHandoffThresholdTokens()).toBe(64_000);\n\n\t\tmanager.setAutoHandoffThresholdTokens(500);\n\t\tawait manager.flush();\n\t\texpect(manager.getAutoHandoffThresholdTokens()).toBe(1000);\n\n\t\tmanager.setAutoHandoffThresholdTokens(128_500.7);\n\t\tawait manager.flush();\n\t\texpect(manager.getAutoHandoffThresholdTokens()).toBe(128_500);\n\t});\n});\n"]}