Files
buzz-sheet/lib/image-generator-draft.test.ts
T
gunshiz db554228bc
CI / Verify (push) Successful in 1m29s
CI / Build immutable images and deploy (push) Failing after 1m42s
feat(admin-images) : add standalone export generators
2026-09-29 17:13:24 +07:00

27 lines
1.1 KiB
TypeScript

import { describe, expect, it } from "vitest";
import {
IMAGE_GENERATOR_DRAFT_VERSION,
parseImageGeneratorDraft,
serializeImageGeneratorDraft,
} from "./image-generator-draft";
describe("image generator drafts", () => {
const parseTitle = (value: unknown) => {
if (!value || typeof value !== "object") return null;
const title = (value as { title?: unknown }).title;
return typeof title === "string" ? { title } : null;
};
it("round trips a versioned draft", () => {
const serialized = serializeImageGeneratorDraft({ title: "Hyperbloom" });
expect(parseImageGeneratorDraft(serialized, parseTitle)).toEqual({ title: "Hyperbloom" });
});
it("rejects corrupt, incompatible, and invalid drafts", () => {
expect(parseImageGeneratorDraft("not-json", parseTitle)).toBeNull();
expect(parseImageGeneratorDraft(JSON.stringify({ version: IMAGE_GENERATOR_DRAFT_VERSION + 1, value: { title: "Old" } }), parseTitle)).toBeNull();
expect(parseImageGeneratorDraft(JSON.stringify({ version: IMAGE_GENERATOR_DRAFT_VERSION, value: { title: 42 } }), parseTitle)).toBeNull();
});
});