Files
openclaw/src/tts/status-config.test.ts
2026-03-28 11:35:33 +00:00

65 lines
1.7 KiB
TypeScript

import fs from "node:fs";
import path from "node:path";
import { describe, expect, it } from "vitest";
import { withTempHome } from "../../test/helpers/temp-home.js";
import type { OpenClawConfig } from "../config/config.js";
import { resolveStatusTtsSnapshot } from "./status-config.js";
describe("resolveStatusTtsSnapshot", () => {
it("uses prefs overrides without loading speech providers", async () => {
await withTempHome(async (home) => {
const prefsPath = path.join(home, ".openclaw", "settings", "tts.json");
fs.mkdirSync(path.dirname(prefsPath), { recursive: true });
fs.writeFileSync(
prefsPath,
JSON.stringify({
tts: {
auto: "always",
provider: "edge",
maxLength: 2048,
summarize: false,
},
}),
);
expect(
resolveStatusTtsSnapshot({
cfg: {
messages: {
tts: {
prefsPath,
},
},
} as OpenClawConfig,
}),
).toEqual({
autoMode: "always",
provider: "microsoft",
maxLength: 2048,
summarize: false,
});
});
});
it("reports auto provider when tts is on without an explicit provider", async () => {
await withTempHome(async () => {
expect(
resolveStatusTtsSnapshot({
cfg: {
messages: {
tts: {
auto: "always",
},
},
} as OpenClawConfig,
}),
).toEqual({
autoMode: "always",
provider: "auto",
maxLength: 1500,
summarize: true,
});
});
});
});