import { expandComponentDefinition } from "../src/userInterface/pagesParsing/types" const componentDef = () => ({ name: "comp", props: { label: "string", width: { type: "number" }, color: { type: "string", required: true }, }, }) describe("expandPropDefintion", () => { it("should expand property defined as string, into default for that type", () => { const result = expandComponentDefinition(componentDef()) expect(result.props.label.type).toBe("string") expect(result.props.label.required).toBe(false) }) it("should add members to property defined as object, when members do not exist", () => { const result = expandComponentDefinition(componentDef()) expect(result.props.width.required).toBe(false) }) it("should not override existing memebers", () => { const result = expandComponentDefinition(componentDef()) expect(result.props.color.required).toBe(true) }) it("should set children=true when not included", () => { const result = expandComponentDefinition(componentDef()) expect(result.children).toBe(true) }) it("should not change children when specified", () => { const c = componentDef() c.children = false const result = expandComponentDefinition(c) expect(result.children).toBe(false) c.children = true const result2 = expandComponentDefinition(c) expect(result2.children).toBe(true) }) })