diff --git a/extensions/migrate-hermes/config.test.ts b/extensions/migrate-hermes/config.test.ts index d2df2d740d9..b94d48d07d4 100644 --- a/extensions/migrate-hermes/config.test.ts +++ b/extensions/migrate-hermes/config.test.ts @@ -99,7 +99,9 @@ describe("Hermes migration config mapping", () => { }, }, }); - expect((plan.warnings ?? []).some((warning) => warning.includes("manual review"))).toBe(true); + expect(plan.warnings).toEqual([ + "Some Hermes settings require manual review before they can be activated safely.", + ]); }); it("applies mapped config items through the migration runtime config writer", async () => { diff --git a/extensions/migrate-hermes/files-and-skills.test.ts b/extensions/migrate-hermes/files-and-skills.test.ts index ceca3817f95..ee8288c8547 100644 --- a/extensions/migrate-hermes/files-and-skills.test.ts +++ b/extensions/migrate-hermes/files-and-skills.test.ts @@ -169,7 +169,9 @@ describe("Hermes migration file and skill items", () => { expect(plannedAuth?.kind).toBe("archive"); expect(plannedAuth?.action).toBe("archive"); expect(plannedAuth?.status).toBe("planned"); - expect((plan.warnings ?? []).some((warning) => warning.includes("archive-only"))).toBe(true); + expect(plan.warnings).toEqual([ + "Some Hermes files are archive-only. They will be copied into the migration report for manual review, not loaded into OpenClaw.", + ]); const result = await provider.apply(makeContext({ source, stateDir, workspaceDir, reportDir })); diff --git a/extensions/migrate-hermes/provider.test.ts b/extensions/migrate-hermes/provider.test.ts index 50f4215f8e8..698da53bb42 100644 --- a/extensions/migrate-hermes/provider.test.ts +++ b/extensions/migrate-hermes/provider.test.ts @@ -136,10 +136,9 @@ describe("Hermes migration provider", () => { expect(secret?.sensitive).toBe(true); expect(secret?.status).toBe("skipped"); expect(secret?.reason).toBe(HERMES_REASON_INCLUDE_SECRETS); - const warnings = plan.warnings ?? []; - expect(warnings.some((warning) => warning.includes("Secrets were detected but skipped"))).toBe( - true, - ); - expect(warnings.some((warning) => warning.includes("Conflicts were found"))).toBe(true); + expect(plan.warnings).toEqual([ + "Secrets were detected but skipped. Re-run with --include-secrets to import supported API keys.", + "Conflicts were found. Re-run with --overwrite to replace conflicting targets after item-level backups.", + ]); }); });