mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-15 08:20:48 +00:00
44 lines
1.3 KiB
TypeScript
44 lines
1.3 KiB
TypeScript
import { afterEach, describe, expect, it } from "vitest";
|
|
import {
|
|
clearActiveRuntimeWebToolsMetadata,
|
|
getActiveRuntimeWebToolsMetadata,
|
|
setActiveRuntimeWebToolsMetadata,
|
|
} from "./runtime-web-tools-state.js";
|
|
|
|
describe("runtime web tools state", () => {
|
|
afterEach(() => {
|
|
clearActiveRuntimeWebToolsMetadata();
|
|
});
|
|
|
|
it("exposes active runtime web tool metadata as a defensive clone", () => {
|
|
setActiveRuntimeWebToolsMetadata({
|
|
search: {
|
|
providerConfigured: "gemini",
|
|
providerSource: "configured",
|
|
selectedProvider: "gemini",
|
|
selectedProviderKeySource: "secretRef",
|
|
diagnostics: [],
|
|
},
|
|
fetch: {
|
|
providerSource: "none",
|
|
diagnostics: [],
|
|
},
|
|
diagnostics: [],
|
|
});
|
|
|
|
const first = getActiveRuntimeWebToolsMetadata();
|
|
expect(first?.search.providerConfigured).toBe("gemini");
|
|
expect(first?.search.selectedProvider).toBe("gemini");
|
|
expect(first?.search.selectedProviderKeySource).toBe("secretRef");
|
|
if (!first) {
|
|
throw new Error("missing runtime web tools metadata");
|
|
}
|
|
first.search.providerConfigured = "brave";
|
|
first.search.selectedProvider = "brave";
|
|
|
|
const second = getActiveRuntimeWebToolsMetadata();
|
|
expect(second?.search.providerConfigured).toBe("gemini");
|
|
expect(second?.search.selectedProvider).toBe("gemini");
|
|
});
|
|
});
|