feat(admin-images) : add standalone export generators
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
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();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user