From 0aa2bcd8d36dc94093151eb6fa1f195e07c0987b Mon Sep 17 00:00:00 2001 From: Shakker Date: Fri, 8 May 2026 15:52:26 +0100 Subject: [PATCH] test: tighten quick settings assertions --- ui/src/ui/views/config-quick.test.ts | 31 ++++++++++++++++++---------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/ui/src/ui/views/config-quick.test.ts b/ui/src/ui/views/config-quick.test.ts index 17cf2f8cf0c..624653570d5 100644 --- a/ui/src/ui/views/config-quick.test.ts +++ b/ui/src/ui/views/config-quick.test.ts @@ -67,14 +67,23 @@ describe("renderQuickSettings", () => { render(renderQuickSettings(createProps()), container); - expect(container.querySelector(".qs-card--model")).not.toBeNull(); - expect(container.querySelector(".qs-card--channels")).not.toBeNull(); - expect(container.querySelector(".qs-card--security")).not.toBeNull(); - expect(container.querySelector(".qs-card--appearance")).not.toBeNull(); - expect(container.querySelector(".qs-card--automations")).not.toBeNull(); - expect(container.querySelector(".qs-side-stack .qs-card--appearance")).not.toBeNull(); - expect(container.querySelector(".qs-side-stack .qs-card--automations")).not.toBeNull(); - expect(container.querySelector(".qs-card--personal")).not.toBeNull(); + expect( + Array.from(container.querySelectorAll(".qs-card")) + .map((card) => + Array.from(card.classList).find( + (className) => className.startsWith("qs-card--") && className !== "qs-card--span-all", + ), + ) + .filter(Boolean), + ).toEqual([ + "qs-card--model", + "qs-card--channels", + "qs-card--security", + "qs-card--personal", + "qs-card--appearance", + "qs-card--automations", + ]); + expect(container.querySelectorAll(".qs-side-stack .qs-card")).toHaveLength(2); expect(container.querySelectorAll(".qs-card--span-all")).toHaveLength(1); }); @@ -203,9 +212,9 @@ describe("renderQuickSettings", () => { const input = inputs.find((node) => node.closest(".qs-identity-card--assistant"), ) as HTMLInputElement | null; - expect(input).not.toBeNull(); + expect(input?.type).toBe("file"); if (!input) { - return; + throw new Error("expected assistant avatar file input"); } Object.defineProperty(input, "files", { @@ -247,7 +256,7 @@ describe("renderQuickSettings", () => { const clear = Array.from(container.querySelectorAll("button")).find( (button) => button.textContent?.trim() === "Clear override", ); - expect(clear).not.toBeUndefined(); + expect(clear?.textContent?.trim()).toBe("Clear override"); clear?.dispatchEvent(new Event("click")); expect(onAssistantAvatarClearOverride).toHaveBeenCalledTimes(1);