fix: install disabled external search providers · openclaw/openclaw@282051a
steipete
·
2026-05-03
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
@@ -322,4 +322,53 @@ describe("runSearchSetupFlow", () => {
|
322 | 322 | spec: "@openclaw/brave-plugin", |
323 | 323 | }); |
324 | 324 | }); |
| 325 | + |
| 326 | +it("installs an external catalog search provider when web search stays disabled", async () => { |
| 327 | +const select = vi.fn().mockResolvedValueOnce("brave"); |
| 328 | +const text = vi.fn().mockResolvedValue("brave-disabled-key"); |
| 329 | +const prompter = createWizardPrompter({ |
| 330 | +select: select as never, |
| 331 | +text: text as never, |
| 332 | +}); |
| 333 | + |
| 334 | +const next = await runSearchSetupFlow( |
| 335 | +{ |
| 336 | +tools: { |
| 337 | +web: { |
| 338 | +search: { |
| 339 | +provider: "brave", |
| 340 | +enabled: false, |
| 341 | +}, |
| 342 | +}, |
| 343 | +}, |
| 344 | +}, |
| 345 | +createNonExitingRuntime(), |
| 346 | +prompter, |
| 347 | +); |
| 348 | + |
| 349 | +expect(ensureOnboardingPluginInstalled).toHaveBeenCalledWith( |
| 350 | +expect.objectContaining({ |
| 351 | +entry: expect.objectContaining({ |
| 352 | +pluginId: "brave", |
| 353 | +label: "Brave", |
| 354 | +install: expect.objectContaining({ |
| 355 | +npmSpec: "@openclaw/brave-plugin", |
| 356 | +}), |
| 357 | +}), |
| 358 | +autoConfirmSingleSource: true, |
| 359 | +}), |
| 360 | +); |
| 361 | +expect(next.tools?.web?.search).toMatchObject({ |
| 362 | +provider: "brave", |
| 363 | +enabled: false, |
| 364 | +}); |
| 365 | +expect(next.plugins?.entries?.brave?.config?.webSearch).toMatchObject({ |
| 366 | +apiKey: "brave-disabled-key", |
| 367 | +}); |
| 368 | +expect(next.plugins?.entries?.brave?.enabled).toBeUndefined(); |
| 369 | +expect(next.plugins?.installs?.brave).toMatchObject({ |
| 370 | +source: "npm", |
| 371 | +spec: "@openclaw/brave-plugin", |
| 372 | +}); |
| 373 | +}); |
325 | 374 | }); |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。