mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-01 08:50:23 +00:00
65 lines
1.7 KiB
TypeScript
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,
|
|
});
|
|
});
|
|
});
|
|
});
|