test: tighten media outside-workspace error assertion

This commit is contained in:
Peter Steinberger
2026-05-09 08:44:56 +01:00
parent 3cf5b8f7f5
commit 74e930870e

View File

@@ -19,12 +19,26 @@ vi.mock("./store.runtime.js", () => {
type StoreModule = typeof import("./store.js");
let SaveMediaSourceError: StoreModule["SaveMediaSourceError"];
let saveMediaSource: StoreModule["saveMediaSource"];
async function expectOutsideWorkspaceStoreFailure(sourcePath: string) {
await expect(saveMediaSource(sourcePath)).rejects.toMatchObject({
code: "invalid-path",
message: "Media path is outside workspace root",
let storeError: unknown;
try {
await saveMediaSource(sourcePath);
} catch (error) {
storeError = error;
}
expect(storeError).toBeInstanceOf(SaveMediaSourceError);
if (!(storeError instanceof SaveMediaSourceError)) {
throw new Error("expected SaveMediaSourceError");
}
expect(storeError.name).toBe("SaveMediaSourceError");
expect(storeError.code).toBe("invalid-path");
expect(storeError.message).toBe("Media path is outside workspace root");
expect(storeError.cause).toStrictEqual({
code: "outside-workspace",
message: "file is outside workspace root",
});
}
@@ -33,7 +47,7 @@ describe("media store outside-workspace mapping", () => {
let home = "";
beforeAll(async () => {
({ saveMediaSource } = await import("./store.js"));
({ SaveMediaSourceError, saveMediaSource } = await import("./store.js"));
tempHome = await createTempHomeEnv("openclaw-media-store-test-home-");
home = tempHome.home;
});