From 9437d1cee1d0ae0dc1d9a10ce7091949589fb192 Mon Sep 17 00:00:00 2001 From: Roman Pinyazhin Date: Thu, 25 Jun 2026 10:09:15 +0400 Subject: [PATCH] Add UiTestUtils accessors for views shown as dialogs (5356) --- .../jmix/flowui/testassist/UiTestUtils.java | 54 ++++++++++++++ .../src/test/java/dialog/ViewDialogTest.java | 71 +++++++++++++++++++ .../java/dialog/view/DialogsTestView.java | 7 ++ 3 files changed, 132 insertions(+) create mode 100644 jmix-flowui/flowui/src/test/java/dialog/ViewDialogTest.java diff --git a/jmix-flowui/flowui-test-assist/src/main/java/io/jmix/flowui/testassist/UiTestUtils.java b/jmix-flowui/flowui-test-assist/src/main/java/io/jmix/flowui/testassist/UiTestUtils.java index a91a4bd03a..0d4e28301a 100644 --- a/jmix-flowui/flowui-test-assist/src/main/java/io/jmix/flowui/testassist/UiTestUtils.java +++ b/jmix-flowui/flowui-test-assist/src/main/java/io/jmix/flowui/testassist/UiTestUtils.java @@ -16,15 +16,19 @@ package io.jmix.flowui.testassist; +import com.vaadin.flow.component.dialog.Dialog; import com.vaadin.flow.component.HasElement; import com.vaadin.flow.component.UI; import io.jmix.core.annotation.Internal; import io.jmix.flowui.component.UiComponentUtils; import io.jmix.flowui.component.validation.ValidationErrors; +import io.jmix.flowui.Dialogs; +import io.jmix.flowui.OpenedDialogWindows; import io.jmix.flowui.testassist.dialog.DialogInfo; import io.jmix.flowui.testassist.dialog.OpenedDialogs; import io.jmix.flowui.testassist.notification.NotificationInfo; import io.jmix.flowui.testassist.notification.OpenedNotifications; +import io.jmix.flowui.view.OpenMode; import io.jmix.flowui.view.StandardDetailView; import io.jmix.flowui.view.View; import org.apache.commons.collections4.CollectionUtils; @@ -129,6 +133,10 @@ public static NotificationInfo getLastOpenedNotification() { /** * Returns an immutable list of {@link DialogInfo} objects in the order they were opened. *

+ * This method covers component {@link Dialog}s created via {@link Dialogs} + * (message, option, background-task and side dialogs). Views shown as dialogs (e.g. {@code InputDialog} + * or any view opened in {@link OpenMode#DIALOG}) are not included here — use {@link #getOpenedViewDialogs()}. + *

* Example of the order in which dialogs are stored: *