test: tighten media outside-workspace error assertion · openclaw/openclaw@74e9308
steipete
·
2026-05-09
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
@@ -19,12 +19,26 @@ vi.mock("./store.runtime.js", () => {
|
19 | 19 | |
20 | 20 | type StoreModule = typeof import("./store.js"); |
21 | 21 | |
| 22 | +let SaveMediaSourceError: StoreModule["SaveMediaSourceError"]; |
22 | 23 | let saveMediaSource: StoreModule["saveMediaSource"]; |
23 | 24 | |
24 | 25 | async function expectOutsideWorkspaceStoreFailure(sourcePath: string) { |
25 | | -await expect(saveMediaSource(sourcePath)).rejects.toMatchObject({ |
26 | | -code: "invalid-path", |
27 | | -message: "Media path is outside workspace root", |
| 26 | +let storeError: unknown; |
| 27 | +try { |
| 28 | +await saveMediaSource(sourcePath); |
| 29 | +} catch (error) { |
| 30 | +storeError = error; |
| 31 | +} |
| 32 | +expect(storeError).toBeInstanceOf(SaveMediaSourceError); |
| 33 | +if (!(storeError instanceof SaveMediaSourceError)) { |
| 34 | +throw new Error("expected SaveMediaSourceError"); |
| 35 | +} |
| 36 | +expect(storeError.name).toBe("SaveMediaSourceError"); |
| 37 | +expect(storeError.code).toBe("invalid-path"); |
| 38 | +expect(storeError.message).toBe("Media path is outside workspace root"); |
| 39 | +expect(storeError.cause).toStrictEqual({ |
| 40 | +code: "outside-workspace", |
| 41 | +message: "file is outside workspace root", |
28 | 42 | }); |
29 | 43 | } |
30 | 44 | |
@@ -33,7 +47,7 @@ describe("media store outside-workspace mapping", () => {
|
33 | 47 | let home = ""; |
34 | 48 | |
35 | 49 | beforeAll(async () => { |
36 | | -({ saveMediaSource } = await import("./store.js")); |
| 50 | +({ SaveMediaSourceError, saveMediaSource } = await import("./store.js")); |
37 | 51 | tempHome = await createTempHomeEnv("openclaw-media-store-test-home-"); |
38 | 52 | home = tempHome.home; |
39 | 53 | }); |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。