Finish backlog cleanup for Pi integration
This commit is contained in:
41
tests/service-tier.test.ts
Normal file
41
tests/service-tier.test.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
import test from "node:test";
|
||||
import assert from "node:assert/strict";
|
||||
import { mkdtempSync, readFileSync } from "node:fs";
|
||||
import { tmpdir } from "node:os";
|
||||
import { join } from "node:path";
|
||||
|
||||
import {
|
||||
getConfiguredServiceTier,
|
||||
normalizeServiceTier,
|
||||
resolveProviderServiceTier,
|
||||
setConfiguredServiceTier,
|
||||
} from "../src/model/service-tier.js";
|
||||
|
||||
test("normalizeServiceTier accepts supported values only", () => {
|
||||
assert.equal(normalizeServiceTier("priority"), "priority");
|
||||
assert.equal(normalizeServiceTier("standard_only"), "standard_only");
|
||||
assert.equal(normalizeServiceTier("FAST"), undefined);
|
||||
assert.equal(normalizeServiceTier(undefined), undefined);
|
||||
});
|
||||
|
||||
test("setConfiguredServiceTier persists and clears settings.json values", () => {
|
||||
const dir = mkdtempSync(join(tmpdir(), "feynman-service-tier-"));
|
||||
const settingsPath = join(dir, "settings.json");
|
||||
|
||||
setConfiguredServiceTier(settingsPath, "priority");
|
||||
assert.equal(getConfiguredServiceTier(settingsPath), "priority");
|
||||
|
||||
const persisted = JSON.parse(readFileSync(settingsPath, "utf8")) as { serviceTier?: string };
|
||||
assert.equal(persisted.serviceTier, "priority");
|
||||
|
||||
setConfiguredServiceTier(settingsPath, undefined);
|
||||
assert.equal(getConfiguredServiceTier(settingsPath), undefined);
|
||||
});
|
||||
|
||||
test("resolveProviderServiceTier filters unsupported provider+tier pairs", () => {
|
||||
assert.equal(resolveProviderServiceTier("openai", "priority"), "priority");
|
||||
assert.equal(resolveProviderServiceTier("openai-codex", "flex"), "flex");
|
||||
assert.equal(resolveProviderServiceTier("anthropic", "standard_only"), "standard_only");
|
||||
assert.equal(resolveProviderServiceTier("anthropic", "priority"), undefined);
|
||||
assert.equal(resolveProviderServiceTier("google", "priority"), undefined);
|
||||
});
|
||||
Reference in New Issue
Block a user