From c64d45a3a9aba1d2295db048a3fb400bcb430537 Mon Sep 17 00:00:00 2001 From: Felix Kotschenreuther Date: Fri, 10 Jul 2026 13:28:27 +0200 Subject: [PATCH] =?UTF-8?q?test(dynamic):=20schema-valid=20authored=20rule?= =?UTF-8?q?set=20for=20the=20#36=20gated=20pin=20=E2=80=94=20process=20sha?= =?UTF-8?q?pe=20live-verified=20(#36)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/dynamic.integration.test.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tests/dynamic.integration.test.ts b/tests/dynamic.integration.test.ts index 9fd8524..3b556e4 100644 --- a/tests/dynamic.integration.test.ts +++ b/tests/dynamic.integration.test.ts @@ -85,12 +85,19 @@ describe.runIf(live && liveWrite)("dynamic ruleset round-trip pin (#36, live wri method: "ChurchQuery", params: { groupBy: ["person.id"], - filter: { "==": [{ var: "person.isArchived" }, false] }, + filter: { "==": [{ var: "person.isArchived" }, 0] }, primaryEntityAlias: "person", responseFields: ["person.id"], }, }, - process: {}, + // CT's PUT schema validates the ruleset content: `process` REQUIRES the groupOnly / + // queryResultOnly / groupAndQueryResult shape (live-verified on 3.134.1 — an empty {} + // is rejected with "Required property missing: groupOnly ... properties:process"). + process: { + groupOnly: { active: { handleMembership: { groupMemberStatus: "none" } } }, + queryResultOnly: { none: { handleMembership: { groupMemberStatus: "active" } } }, + groupAndQueryResult: {}, + }, }; await client.request("PUT", `/dynamicgroups/${GID}/ruleset`, putRulesetBody(authored));