


























@@ -251,21 +251,17 @@ describe("doctor repair sequencing", () => {
251251252252expect(result.state.pendingChanges).toBe(true);
253253expect(result.state.candidate.channels?.discord?.allowFrom).toEqual(["123"]);
254-expect(result.changeNotes).toEqual(
255-expect.arrayContaining([
256-expect.stringContaining("channels.discord.allowFrom: converted 1 numeric ID to strings"),
257-expect.stringContaining(
258-"channels.tools.exec.toolsBySender: migrated 1 legacy key to typed id: entries",
259-),
260-]),
254+expect(result.changeNotes.join("\n")).toContain(
255+"channels.discord.allowFrom: converted 1 numeric ID to strings",
256+);
257+expect(result.changeNotes.join("\n")).toContain(
258+"channels.tools.exec.toolsBySender: migrated 1 legacy key to typed id: entries",
261259);
262260expect(result.changeNotes.join("\n")).toContain("bad-keynext -> id:bad-keynext");
263261expect(result.changeNotes.join("\n")).not.toContain("\u001B");
264262expect(result.changeNotes.join("\n")).not.toContain("\r");
265-expect(result.warningNotes).toEqual(
266-expect.arrayContaining([
267-expect.stringContaining("channels.signal.accounts.ops-teamnext.dmPolicy"),
268-]),
263+expect(result.warningNotes.join("\n")).toContain(
264+"channels.signal.accounts.ops-teamnext.dmPolicy",
269265);
270266expect(result.warningNotes.join("\n")).not.toContain("\u001B");
271267expect(result.warningNotes.join("\n")).not.toContain("\r");
@@ -305,18 +301,10 @@ describe("doctor repair sequencing", () => {
305301});
306302307303expect(events).toEqual(["cleanup", "missing-installs"]);
308-expect(mocks.maybeRepairStaleManagedNpmBundledPlugins).toHaveBeenCalledWith(
309-expect.objectContaining({
310-config: expect.objectContaining({
311-plugins: expect.objectContaining({
312-entries: expect.objectContaining({
313-"google-meet": { enabled: true },
314-}),
315-}),
316-}),
317-prompter: { shouldRepair: true },
318-}),
319-);
304+expect(mocks.maybeRepairStaleManagedNpmBundledPlugins).toHaveBeenCalledOnce();
305+const cleanupCall = mocks.maybeRepairStaleManagedNpmBundledPlugins.mock.calls[0]?.[0];
306+expect(cleanupCall?.config.plugins?.entries?.["google-meet"]).toEqual({ enabled: true });
307+expect(cleanupCall?.prompter).toEqual({ shouldRepair: true });
320308});
321309322310it("emits Discord warnings when unsafe numeric ids block repair", async () => {
@@ -389,11 +377,11 @@ describe("doctor repair sequencing", () => {
389377expect(result.state.pendingChanges).toBe(true);
390378expect(result.state.candidate.plugins?.allow).toEqual(["telegram", "brave"]);
391379expect(result.state.candidate.plugins?.entries?.brave?.enabled).toBe(true);
392-expect(result.changeNotes).toEqual(
393-expect.arrayContaining([
394- 'Installed missing configured plugin "brave" from @openclaw/brave-plugin.',
395- "brave web search provider selected, enabled automatically.",
396-]),
380+expect(result.changeNotes).toContain(
381+'Installed missing configured plugin "brave" from @openclaw/brave-plugin.',
382+);
383+expect(result.changeNotes).toContain(
384+"brave web search provider selected, enabled automatically.",
397385);
398386});
399387此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。