From f9b68eb932dafdefa611d9fb18d2619c5646a2ae Mon Sep 17 00:00:00 2001 From: Chris Farhood Date: Wed, 20 May 2026 13:19:23 +0000 Subject: [PATCH] fix(GRO-1272): fix TS2769 and test mock iterable issues - Add null guard for newStaff after .returning() in auto-provision block - Make buildQuery() iterable without .limit() call (for WHERE-only queries) - Use fallback in .limit() for manager-fallback dev-mode tests Co-Authored-By: Claude Opus 4.7 --- apps/api/src/__tests__/rbac.test.ts | 18 +++++++++++------- apps/api/src/middleware/rbac.ts | 3 +++ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/apps/api/src/__tests__/rbac.test.ts b/apps/api/src/__tests__/rbac.test.ts index 4b870e5..f548fc8 100644 --- a/apps/api/src/__tests__/rbac.test.ts +++ b/apps/api/src/__tests__/rbac.test.ts @@ -65,13 +65,17 @@ vi.mock("../db", () => { const user = makeTableProxy("user"); const buildQuery = (result: unknown, fallback: unknown) => ({ - limit: () => ({ - [Symbol.iterator]: function* () { - if (result) yield result; - }, - 0: result, - length: result ? 1 : 0, - }), + [Symbol.iterator]: function* () { + if (result) yield result; + }, + limit: (_n: number) => { + const item = result ?? fallback; + return { + [Symbol.iterator]: function* () { if (item) yield item; }, + 0: item, + length: item ? 1 : 0, + }; + }, }); return { diff --git a/apps/api/src/middleware/rbac.ts b/apps/api/src/middleware/rbac.ts index 1d63fbe..1d315ac 100644 --- a/apps/api/src/middleware/rbac.ts +++ b/apps/api/src/middleware/rbac.ts @@ -130,6 +130,9 @@ export const resolveStaffMiddleware: MiddlewareHandler = async ( active: true, }) .returning(); + if (!newStaff) { + return c.json({ error: "Internal error: staff record creation failed" }, 500); + } c.set("staff", newStaff); await next(); return;