test.content/core/selectors/payload.selector.test.ts
test.content/core/selectors/payload.selector.test.ts is a file in Codebase Testing. 18 lines of code and 0 definitions.
import { contentOf, isRecord, listAt, tabsIn, textAt } from "@banes-lab/content/core/selectors/payload.selector.ts";
import { describe, expect, it } from "vitest";
describe("tabsIn", () => {
it("reads the tabs of a page's content and nothing from a value without tabs", () => {
expect(tabsIn({ tabs: [{ id: "start" }, "noise"] })).toStrictEqual([{ id: "start" }]);
expect(tabsIn(null)).toStrictEqual([]);
});
});
describe("contentOf, listAt, textAt and isRecord", () => {
it("reads a payload's content, a list of records and a string field, and nothing of another type", () => {
expect(contentOf({ content: { id: "a" } })).toStrictEqual({ id: "a" });
expect(contentOf({ content: "text" })).toBeNull();
expect(listAt({ items: [{ id: "a" }, 3] }, "items")).toStrictEqual([{ id: "a" }]);
expect(textAt({ count: 1, id: "a" }, "id")).toBe("a");
expect(textAt({ count: 1, id: "a" }, "count")).toBeNull();
expect(isRecord(null)).toBe(false);
});
});