# HG changeset patch # User Frank Bessou <frank.bessou@logilab.fr> # Date 1615371281 -3600 # Wed Mar 10 11:14:41 2021 +0100 # Node ID 5651596f0201dad319818e3c3a7ac0509a5ce778 # Parent f0affba87273fd5f8cc5bd2d0af093d1f68f2974 test: test required attribute handling diff --git a/packages/ra-cubicweb/src/__tests__/createFormHelpers.ts b/packages/ra-cubicweb/src/__tests__/createFormHelpers.ts --- a/packages/ra-cubicweb/src/__tests__/createFormHelpers.ts +++ b/packages/ra-cubicweb/src/__tests__/createFormHelpers.ts @@ -1,9 +1,12 @@ +import { isRequired } from "ra-core"; + import { createFormHelpers } from "../createFormHelpers"; const schema = { entities: { User: { - login: { type: "String" } as const, + login: { type: "String", required: true } as const, + address: { type: "String" } as const, }, }, relationsDefinitions: [], @@ -16,5 +19,15 @@ const props = formHelpers.User.getInputProps("login"); expect(props.source).toBe("login"); }); + + it("returns validate props for which isRequired returns false when attribute is not required", () => { + const props = formHelpers.User.getInputProps("address"); + expect(isRequired(props.validate)).toBe(false); + }); + + it("returns validate props for which isRequired returns true when attribute is required", () => { + const props = formHelpers.User.getInputProps("login"); + expect(isRequired(props.validate)).toBe(true); + }); }); });