From ffcb7bf7a0c3f18fc1acb4633a2fbef7ba741a3d Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 8 May 2026 16:18:15 +0100 Subject: [PATCH] test: require modal dialog helpers --- ui/src/ui/components/modal-dialog.test.ts | 16 +++++++++++----- ui/src/ui/views/exec-approval.test.ts | 16 +++++++++++----- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/ui/src/ui/components/modal-dialog.test.ts b/ui/src/ui/components/modal-dialog.test.ts index 1e3f52e93db..53a5d35f035 100644 --- a/ui/src/ui/components/modal-dialog.test.ts +++ b/ui/src/ui/components/modal-dialog.test.ts @@ -60,12 +60,18 @@ async function renderModal() { container, ); const modal = container.querySelector("openclaw-modal-dialog"); - expect(modal).not.toBeNull(); - await modal!.updateComplete; + expect(modal).toBeInstanceOf(HTMLElement); + if (!modal) { + throw new Error("Expected openclaw-modal-dialog"); + } + await modal.updateComplete; await nextFrame(); - const dialog = modal!.shadowRoot?.querySelector("dialog"); - expect(dialog).not.toBeNull(); - return { modal: modal!, dialog: dialog! }; + const dialog = modal.shadowRoot?.querySelector("dialog"); + expect(dialog).toBeInstanceOf(HTMLDialogElement); + if (!(dialog instanceof HTMLDialogElement)) { + throw new Error("Expected rendered dialog"); + } + return { modal, dialog }; } describe("openclaw-modal-dialog", () => { diff --git a/ui/src/ui/views/exec-approval.test.ts b/ui/src/ui/views/exec-approval.test.ts index 886422e7fb6..c2ad7ad877e 100644 --- a/ui/src/ui/views/exec-approval.test.ts +++ b/ui/src/ui/views/exec-approval.test.ts @@ -50,12 +50,18 @@ function restoreDescriptor(name: "showModal" | "close", descriptor?: PropertyDes async function getRenderedDialog() { const modal = container.querySelector("openclaw-modal-dialog"); - expect(modal).not.toBeNull(); - await modal!.updateComplete; + expect(modal).toBeInstanceOf(HTMLElement); + if (!modal) { + throw new Error("Expected openclaw-modal-dialog"); + } + await modal.updateComplete; await nextFrame(); - const dialog = modal!.shadowRoot?.querySelector("dialog"); - expect(dialog).not.toBeNull(); - return { modal: modal!, dialog: dialog! }; + const dialog = modal.shadowRoot?.querySelector("dialog"); + expect(dialog).toBeInstanceOf(HTMLDialogElement); + if (!(dialog instanceof HTMLDialogElement)) { + throw new Error("Expected rendered dialog"); + } + return { modal, dialog }; } function dispatchEscape(target: EventTarget) {