From 0155ceccc832a3ef0b2c90c17184a12abccf207f Mon Sep 17 00:00:00 2001 From: David Perl Date: Wed, 2 Jul 2025 14:29:18 +0200 Subject: [PATCH] test: add and remove dockarea items causing issue --- tests/end-2-end/test_dockarea_menu.py | 42 +++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 tests/end-2-end/test_dockarea_menu.py diff --git a/tests/end-2-end/test_dockarea_menu.py b/tests/end-2-end/test_dockarea_menu.py new file mode 100644 index 00000000..86fcf94d --- /dev/null +++ b/tests/end-2-end/test_dockarea_menu.py @@ -0,0 +1,42 @@ +import pytest +from qtpy.QtCore import Qt + +from bec_widgets.widgets.containers.dock.dock_area import BECDockArea + + +@pytest.fixture +def dock_area(qtbot): + + dock = BECDockArea() + qtbot.addWidget(dock) + qtbot.waitExposed(dock) + dock.show() + qtbot.wait(500) + + yield dock + + dock.remove() + dock.deleteLater() + + +def test_sequence_of_add_and_remove(qtbot, dock_area): + + add_sc_action = dock_area.toolbar.widgets["menu_devices"].widgets["scan_control"] + add_pb_action = dock_area.toolbar.widgets["menu_devices"].widgets["positioner_box"] + + add_pb_action.trigger() + qtbot.wait(1000) + + add_sc_action.trigger() + qtbot.wait(1000) + + assert all(w in dock_area.panels for w in ["positioner_box_0", "scan_control_0"]) + + dock_area.panels["positioner_box_0"].remove() + qtbot.wait(1000) + + dock_area.panels["scan_control_0"].remove() + qtbot.wait(1000) + + add_pb_action.trigger() + qtbot.wait(1000)