



























@@ -31,18 +31,19 @@ describe("runPostCorePluginConvergence", () => {
3131});
32323333it("calls repair with OPENCLAW_UPDATE_POST_CORE_CONVERGENCE=1 set", async () => {
34+const cfg = { plugins: { entries: {} } } as unknown as OpenClawConfig;
3435await runPostCorePluginConvergence({
35-cfg: { plugins: { entries: {} } } as unknown as OpenClawConfig,
36+ cfg,
3637env: { OPENCLAW_UPDATE_IN_PROGRESS: "1" },
3738});
38-expect(mocks.repairMissingConfiguredPluginInstalls).toHaveBeenCalledWith(
39- expect.objectContaining({
40- env: expect.objectContaining({
41- OPENCLAW_UPDATE_IN_PROGRESS: "1",
42- OPENCLAW_UPDATE_POST_CORE_CONVERGENCE: "1",
43-}),
44-}),
45-);
39+expect(mocks.repairMissingConfiguredPluginInstalls).toHaveBeenCalledTimes(1);
40+expect(mocks.repairMissingConfiguredPluginInstalls).toHaveBeenCalledWith({
41+cfg,
42+env: {
43+OPENCLAW_UPDATE_IN_PROGRESS: "1",
44+OPENCLAW_UPDATE_POST_CORE_CONVERGENCE: "1",
45+},
46+});
4647});
47484849it("returns ok when no warnings/failures and includes repair changes", async () => {
@@ -79,21 +80,27 @@ describe("runPostCorePluginConvergence", () => {
79808081it("forwards baselineInstallRecords to repair so sync/npm in-memory mutations are preserved", async () => {
8182const baseline = { matrix: { source: "npm" as const, installPath: "/p/matrix" } };
83+const cfg = {
84+plugins: { entries: { matrix: { enabled: true } } },
85+} as unknown as OpenClawConfig;
8286mocks.repairMissingConfiguredPluginInstalls.mockResolvedValue({
8387changes: [],
8488warnings: [],
8589records: baseline,
8690});
8791await runPostCorePluginConvergence({
88-cfg: {
89-plugins: { entries: { matrix: { enabled: true } } },
90-} as unknown as OpenClawConfig,
92+ cfg,
9193env: {},
9294baselineInstallRecords: baseline,
9395});
94-expect(mocks.repairMissingConfiguredPluginInstalls).toHaveBeenCalledWith(
95-expect.objectContaining({ baselineRecords: baseline }),
96-);
96+expect(mocks.repairMissingConfiguredPluginInstalls).toHaveBeenCalledTimes(1);
97+expect(mocks.repairMissingConfiguredPluginInstalls).toHaveBeenCalledWith({
98+ cfg,
99+env: {
100+OPENCLAW_UPDATE_POST_CORE_CONVERGENCE: "1",
101+},
102+baselineRecords: baseline,
103+});
97104});
9810599106it("flags errored=true and surfaces actionable guidance when repair warns", async () => {
@@ -199,22 +206,25 @@ describe("runPostCorePluginConvergence", () => {
199206});
200207201208it("hands repair's post-mutation records straight to the smoke check (no second disk read)", async () => {
209+const records = { brave: { source: "npm" as const, installPath: "/p/brave" } };
202210mocks.repairMissingConfiguredPluginInstalls.mockResolvedValue({
203211changes: ["Repaired"],
204212warnings: [],
205-records: { brave: { source: "npm", installPath: "/p/brave" } },
213+ records,
206214});
207215await runPostCorePluginConvergence({
208216cfg: {
209217plugins: { entries: { brave: { enabled: true } } },
210218} as unknown as OpenClawConfig,
211219env: {},
212220});
213-expect(mocks.runPluginPayloadSmokeCheck).toHaveBeenCalledWith(
214-expect.objectContaining({
215-records: { brave: { source: "npm", installPath: "/p/brave" } },
216-}),
217-);
221+expect(mocks.runPluginPayloadSmokeCheck).toHaveBeenCalledTimes(1);
222+expect(mocks.runPluginPayloadSmokeCheck).toHaveBeenCalledWith({
223+ records,
224+env: {
225+OPENCLAW_UPDATE_POST_CORE_CONVERGENCE: "1",
226+},
227+});
218228});
219229});
220230此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。