mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-06 15:22:12 +03:00
Add unit tests for strategy selector (17), lite compression (20), stats module (11), and DB module (7). Add integration tests for full compression pipeline (6). All 61 tests pass. Remove broken integration test files from previous WIP. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
87 lines
3.1 KiB
TypeScript
87 lines
3.1 KiB
TypeScript
import { describe, it, beforeEach, afterEach } from "node:test";
|
|
import assert from "node:assert/strict";
|
|
import {
|
|
getCompressionSettings,
|
|
updateCompressionSettings,
|
|
} from "../../../src/lib/db/compression.ts";
|
|
|
|
describe("getCompressionSettings", () => {
|
|
it("returns default settings structure", async () => {
|
|
const settings = await getCompressionSettings();
|
|
assert.equal(typeof settings.enabled, "boolean");
|
|
assert.equal(typeof settings.defaultMode, "string");
|
|
assert.equal(typeof settings.autoTriggerTokens, "number");
|
|
assert.equal(typeof settings.cacheMinutes, "number");
|
|
assert.equal(typeof settings.preserveSystemPrompt, "boolean");
|
|
assert.equal(typeof settings.comboOverrides, "object");
|
|
});
|
|
|
|
it("has correct default values", async () => {
|
|
const settings = await getCompressionSettings();
|
|
assert.equal(settings.enabled, false);
|
|
assert.equal(settings.defaultMode, "off");
|
|
assert.equal(settings.autoTriggerTokens, 0);
|
|
assert.equal(settings.cacheMinutes, 5);
|
|
assert.equal(settings.preserveSystemPrompt, true);
|
|
assert.deepEqual(settings.comboOverrides, {});
|
|
});
|
|
});
|
|
|
|
describe("updateCompressionSettings", () => {
|
|
it("updates enabled flag", async () => {
|
|
await updateCompressionSettings({ enabled: true } as any);
|
|
const settings = await getCompressionSettings();
|
|
assert.equal(settings.enabled, true);
|
|
// Reset
|
|
await updateCompressionSettings({ enabled: false } as any);
|
|
});
|
|
|
|
it("updates defaultMode", async () => {
|
|
await updateCompressionSettings({ defaultMode: "lite" } as any);
|
|
const settings = await getCompressionSettings();
|
|
assert.equal(settings.defaultMode, "lite");
|
|
// Reset
|
|
await updateCompressionSettings({ defaultMode: "off" } as any);
|
|
});
|
|
|
|
it("updates autoTriggerTokens", async () => {
|
|
await updateCompressionSettings({ autoTriggerTokens: 5000 } as any);
|
|
const settings = await getCompressionSettings();
|
|
assert.equal(settings.autoTriggerTokens, 5000);
|
|
// Reset
|
|
await updateCompressionSettings({ autoTriggerTokens: 0 } as any);
|
|
});
|
|
|
|
it("updates multiple settings at once", async () => {
|
|
await updateCompressionSettings({
|
|
enabled: true,
|
|
defaultMode: "lite",
|
|
autoTriggerTokens: 1000,
|
|
cacheMinutes: 10,
|
|
} as any);
|
|
const settings = await getCompressionSettings();
|
|
assert.equal(settings.enabled, true);
|
|
assert.equal(settings.defaultMode, "lite");
|
|
assert.equal(settings.autoTriggerTokens, 1000);
|
|
assert.equal(settings.cacheMinutes, 10);
|
|
// Reset all
|
|
await updateCompressionSettings({
|
|
enabled: false,
|
|
defaultMode: "off",
|
|
autoTriggerTokens: 0,
|
|
cacheMinutes: 5,
|
|
} as any);
|
|
});
|
|
|
|
it("preserves unmodified settings", async () => {
|
|
const before = await getCompressionSettings();
|
|
await updateCompressionSettings({ enabled: true } as any);
|
|
const after = await getCompressionSettings();
|
|
assert.equal(after.enabled, true);
|
|
assert.equal(after.defaultMode, before.defaultMode);
|
|
assert.equal(after.cacheMinutes, before.cacheMinutes);
|
|
// Reset
|
|
await updateCompressionSettings({ enabled: false } as any);
|
|
});
|
|
});
|