From a7b15b9eb5e29e447288b8754fb4d2b95ccc206a Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 24 Sep 2026 16:36:39 -0700 Subject: [PATCH] add tests covering layout --- src/utils/config/service-helpers.test.js | 32 ++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/utils/config/service-helpers.test.js b/src/utils/config/service-helpers.test.js index 7109b9abf..6d6174526 100644 --- a/src/utils/config/service-helpers.test.js +++ b/src/utils/config/service-helpers.test.js @@ -524,6 +524,38 @@ describe("utils/config/service-helpers", () => { ]); }); + it("cleanServiceGroups keeps feed layout and drops server-side options", async () => { + const mod = await import("./service-helpers"); + const { cleanServiceGroups } = mod; + + const rawGroups = [ + { + name: "Core", + services: [ + { + name: "News", + widgets: [ + { + type: "feed", + url: "https://example.com/feed.xml?token=secret", + maxItems: 3, + images: false, + layout: "grid", + }, + ], + }, + ], + groups: [], + }, + ]; + + const feedWidget = cleanServiceGroups(rawGroups)[0].services[0].widgets[0]; + expect(feedWidget).toEqual(expect.objectContaining({ type: "feed", layout: "grid" })); + expect(feedWidget).not.toHaveProperty("url"); + expect(feedWidget).not.toHaveProperty("maxItems"); + expect(feedWidget).not.toHaveProperty("images"); + }); + it("findGroupByName deep-searches and annotates parent", async () => { const mod = await import("./service-helpers"); const { findGroupByName } = mod;