From 1c0ec79b85fa269e3b0826411098d9b8364b6787 Mon Sep 17 00:00:00 2001 From: Toon Albers Date: Fri, 5 Jan 2024 10:03:51 +0100 Subject: [PATCH] Add admin metadata test, fix public metadata test --- .../src/service/schema-service.test.ts | 58 ++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) diff --git a/kratos-admin-ui/src/service/schema-service.test.ts b/kratos-admin-ui/src/service/schema-service.test.ts index 8315026..238a4af 100644 --- a/kratos-admin-ui/src/service/schema-service.test.ts +++ b/kratos-admin-ui/src/service/schema-service.test.ts @@ -353,7 +353,7 @@ describe("test getSchemaFields", () => { } }, }, - "required": ["emails"], + "required": ["email"], "additionalProperties": false }, "metadata_public": { @@ -383,4 +383,60 @@ describe("test getSchemaFields", () => { expect(fields[1].title).toBe("Groups"); expect(fields[1].fieldKind).toBe("metadata_public"); }) + + test("test admin metadata schema", () => { + const schema = { + "$id": "https://schemas.ory.sh/presets/kratos/identity.email.schema.json", + "title": "Person", + "type": "object", + "properties": { + "traits": { + "type": "object", + "properties": { + "email": { + "type": "string", + "format": "email", + "title": "E-Mail", + "minLength": 3, + "ory.sh/kratos": { + "credentials": { + "password": { + "identifier": true + } + }, + "verification": { + "via": "email" + }, + "recovery": { + "via": "email" + } + } + }, + }, + "required": ["email"], + "additionalProperties": false + }, + "metadata_admin": { + "type": "object", + "properties": { + "notes": { + "title": "Notes", + "type": "string" + } + } + }, + } + } + + const fields: SchemaField[] = SchemaService.getSchemaFields(schema); + + expect(fields.length).toBe(2); + expect(fields[0].type).toBe("string"); + expect(fields[0].title).toBe("E-Mail"); + expect(fields[0].fieldKind).toBe("trait"); + + expect(fields[1].type).toBe("string"); + expect(fields[1].title).toBe("Notes"); + expect(fields[1].fieldKind).toBe("metadata_admin"); + }) }) \ No newline at end of file