Files
OmniRoute/tests/unit/compression/db.test.ts
oyi77 d2f32090b7 test(compression): add unit and integration tests (61 tests)
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>
2026-04-27 03:53:05 +07:00

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);
});
});