openskynet / src /browser /routes /agent.shared.test.ts
Darochin's picture
Mirror OpenSkyNet workspace snapshot from Git HEAD
fc93158 verified
import { describe, expect, it } from "vitest";
import { readBody, resolveTargetIdFromBody, resolveTargetIdFromQuery } from "./agent.shared.js";
import type { BrowserRequest } from "./types.js";
function requestWithBody(body: unknown): BrowserRequest {
return {
params: {},
query: {},
body,
};
}
describe("browser route shared helpers", () => {
describe("readBody", () => {
it("returns object bodies", () => {
expect(readBody(requestWithBody({ one: 1 }))).toEqual({ one: 1 });
});
it("normalizes non-object bodies to empty object", () => {
expect(readBody(requestWithBody(null))).toEqual({});
expect(readBody(requestWithBody("text"))).toEqual({});
expect(readBody(requestWithBody(["x"]))).toEqual({});
});
});
describe("target id parsing", () => {
it("extracts and trims targetId from body", () => {
expect(resolveTargetIdFromBody({ targetId: " tab-1 " })).toBe("tab-1");
expect(resolveTargetIdFromBody({ targetId: " " })).toBeUndefined();
expect(resolveTargetIdFromBody({ targetId: 123 })).toBeUndefined();
});
it("extracts and trims targetId from query", () => {
expect(resolveTargetIdFromQuery({ targetId: " tab-2 " })).toBe("tab-2");
expect(resolveTargetIdFromQuery({ targetId: "" })).toBeUndefined();
expect(resolveTargetIdFromQuery({ targetId: false })).toBeUndefined();
});
});
});