From 56dd2bfb152ea10c093b12492f63dfd3dcc1c262 Mon Sep 17 00:00:00 2001 From: Charlie Kolb Date: Fri, 10 Jul 2026 13:19:20 +0200 Subject: [PATCH] test(editor): Stabilize N8nPopover trigger clicks in unit tests (no-changelog) (#33978) Co-authored-by: Claude Opus 4.8 (1M context) --- packages/frontend/editor-ui/src/__tests__/setup.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/frontend/editor-ui/src/__tests__/setup.ts b/packages/frontend/editor-ui/src/__tests__/setup.ts index 94b26c86352..f903afdd0e5 100644 --- a/packages/frontend/editor-ui/src/__tests__/setup.ts +++ b/packages/frontend/editor-ui/src/__tests__/setup.ts @@ -47,8 +47,15 @@ vi.mock('reka-ui', async (importOriginal) => { const context = inject<{ isOpen: { value: boolean }; setOpen: (v: boolean) => void }>( POPOVER_OPEN_KEY, ); + // Capture phase avoids Vue's "event fired before listener attached" guard + // (`e._vts <= invoker.attached`), which flakily skips a bubble-phase onClick + // when a test renders and clicks within the same millisecond. return () => - h('div', { onClick: () => context?.setOpen(!context.isOpen.value) }, slots.default?.()); + h( + 'div', + { onClickCapture: () => context?.setOpen(!context.isOpen.value) }, + slots.default?.(), + ); }, }), PopoverPortal: defineComponent({