import { keysToCamelCase } from "zod-to-camel-case"; import type { ImageObject, ImageObjectCamel, ImageItem, ImageItemCamel, TextItem, TextItemCamel, } from "@/schema/public/components/imageTextItems/imageTextItems.schema"; export const imageObjectFixture = ({ overrides = {}, }: { overrides?: Partial } = {}): ImageObject => ({ format: "png", secure_url: "https://res.cloudinary.com/demo/image/upload/sample.png", url: "http://res.cloudinary.com/demo/image/upload/sample.png", height: 100, width: 100, metadata: { attribution: "author", usageRestriction: "free", }, public_id: "sample", version: 1234567890, ...overrides, }); export const imageObjectFixtureCamel = ({ overrides = {}, }: { overrides?: Partial } = {}): ImageObjectCamel => ({ ...keysToCamelCase(imageObjectFixture()), ...overrides, }); export const imageItemFixture = ({ overrides = {}, }: { overrides?: Partial } = {}): ImageItem => ({ image_object: imageObjectFixture(), type: "image", ...overrides, }); export const imageItemFixtureCamel = ({ overrides = {}, }: { overrides?: Partial } = {}): ImageItemCamel => ({ ...keysToCamelCase(imageItemFixture()), ...overrides, }); export const textItemFixture = ({ overrides = {}, }: { overrides?: Partial } = {}): TextItem => ({ text: "Hello, World!", type: "text", ...overrides, }); export const textItemFixtureCamel = ({ overrides = {}, }: { overrides?: Partial } = {}): TextItemCamel => ({ ...keysToCamelCase(textItemFixture()), ...overrides, }); export const textAndImageItemFixture = ({ overrides = [], }: { overrides?: Array; } = {}): Array => [ imageItemFixture(), textItemFixture({ overrides: { text: "This is a text item." } }), ...overrides, ]; export const textAndImageItemFixtureCamel = ({ overrides = [], }: { overrides?: Array; } = {}): Array => [ imageItemFixtureCamel(), textItemFixtureCamel({ overrides: { text: "This is a text item." } }), ...overrides, ];