From 4cee00c850d38e6f5098a4e0821a773833d5eecc Mon Sep 17 00:00:00 2001 From: ajnart <49837342+ajnart@users.noreply.github.com> Date: Mon, 6 Jul 2026 02:43:48 +0200 Subject: [PATCH] test(api): cover board settings updates --- packages/api/src/router/serverSettings.ts | 2 +- .../src/router/test/serverSettings.spec.ts | 31 +++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/packages/api/src/router/serverSettings.ts b/packages/api/src/router/serverSettings.ts index 4410b953b..9783e0ae9 100644 --- a/packages/api/src/router/serverSettings.ts +++ b/packages/api/src/router/serverSettings.ts @@ -21,7 +21,7 @@ const boardServerSettingsSchema = z.object({ mobileHomeBoardId: z.string().nullable(), enableStatusByDefault: z.boolean(), forceDisableStatus: z.boolean(), -}); +}) satisfies z.ZodType; const boardServerSettingsUpdateSchema = boardServerSettingsSchema.partial(); diff --git a/packages/api/src/router/test/serverSettings.spec.ts b/packages/api/src/router/test/serverSettings.spec.ts index c97b9c0ae..c045b1288 100644 --- a/packages/api/src/router/test/serverSettings.spec.ts +++ b/packages/api/src/router/test/serverSettings.spec.ts @@ -132,6 +132,37 @@ describe("board settings API", () => { ]); }); + test("updateBoardSettings should update existing settings", async () => { + const db = createDb(); + const caller = serverSettingsRouter.createCaller({ + db, + deviceType: undefined, + session: defaultSession, + }); + const boardId = createId(); + await db.insert(boards).values({ id: boardId, name: "default", isPublic: true }); + + await caller.updateBoardSettings({ homeBoardId: boardId }); + const result = await caller.updateBoardSettings({ + mobileHomeBoardId: boardId, + enableStatusByDefault: false, + }); + + expect(result).toStrictEqual({ + ...defaultServerSettings.board, + homeBoardId: boardId, + mobileHomeBoardId: boardId, + enableStatusByDefault: false, + }); + const dbSettings = await db.select().from(serverSettings); + expect(dbSettings).toStrictEqual([ + { + settingKey: "board", + value: stringify(result), + }, + ]); + }); + test("updateBoardSettings should reject private home boards", async () => { const db = createDb(); const caller = serverSettingsRouter.createCaller({