diff --git a/AGENTS.md b/AGENTS.md index cbd9337d..0fc50449 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -159,7 +159,7 @@ when practical. Create widgets with `create_widget(...)` from `tests/unit_tests/ registers the widget with `qtbot` so it is closed at test end; the autouse conftest fixtures handle the rest of the teardown (dispatcher disconnect, singleton resets) and fail the test if any top-level widget is left open. Before adding a new fixture, check for reusable fixtures in -`tests/unit_tests/conftest.py` and helpers in `bec_widgets/tests/utils.py`. +`tests/unit_tests/conftest.py` and fake devices in `bec_widgets/tests/fake_devices.py`. Mock BEC, Redis, and hardware in unit tests. Reuse existing helpers such as `FakeDevice`, `FakePositioner`, `DMMock`, and the shared autouse fixtures rather than rolling your own. diff --git a/bec_widgets/tests/utils.py b/bec_widgets/tests/fake_devices.py similarity index 100% rename from bec_widgets/tests/utils.py rename to bec_widgets/tests/fake_devices.py diff --git a/tests/end-2-end/test_plotting_framework_e2e.py b/tests/end-2-end/test_plotting_framework_e2e.py index a386d227..bf17bad8 100644 --- a/tests/end-2-end/test_plotting_framework_e2e.py +++ b/tests/end-2-end/test_plotting_framework_e2e.py @@ -6,7 +6,7 @@ from bec_lib.endpoints import MessageEndpoints from bec_widgets.cli.client import Image, MotorMap, MultiWaveform, ScatterWaveform, Waveform from bec_widgets.cli.rpc.rpc_base import RPCReference -from bec_widgets.tests.utils import check_remote_data_size +from bec_widgets.tests.fake_devices import check_remote_data_size def test_rpc_waveform1d_custom_curve(qtbot, connected_client_gui_obj): diff --git a/tests/unit_tests/client_mocks.py b/tests/unit_tests/client_mocks.py index a3749a99..c688ec55 100644 --- a/tests/unit_tests/client_mocks.py +++ b/tests/unit_tests/client_mocks.py @@ -9,7 +9,7 @@ from bec_lib.endpoints import MessageEndpoints from bec_lib.scan_history import ScanHistory from bec_lib.scan_items import ScanItem -from bec_widgets.tests.utils import FakePositioner, Positioner +from bec_widgets.tests.fake_devices import FakePositioner, Positioner @pytest.fixture(scope="function") diff --git a/tests/unit_tests/conftest.py b/tests/unit_tests/conftest.py index 625410bc..f93e044f 100644 --- a/tests/unit_tests/conftest.py +++ b/tests/unit_tests/conftest.py @@ -23,7 +23,7 @@ from pytestqt.exceptions import TimeoutError as QtBotTimeoutError from qtpy.QtCore import QEvent, QEventLoop from qtpy.QtWidgets import QApplication, QMessageBox -from bec_widgets.tests.utils import DEVICES, DMMock +from bec_widgets.tests.fake_devices import DEVICES, DMMock from bec_widgets.utils import bec_dispatcher as bec_dispatcher_module from bec_widgets.utils import error_popups from bec_widgets.utils.bec_dispatcher import QtRedisConnector diff --git a/tests/unit_tests/test_device_input_widgets.py b/tests/unit_tests/test_device_input_widgets.py index b77d5e66..d1dbbef9 100644 --- a/tests/unit_tests/test_device_input_widgets.py +++ b/tests/unit_tests/test_device_input_widgets.py @@ -3,7 +3,7 @@ from unittest import mock import pytest from bec_lib.device import ReadoutPriority -from bec_widgets.tests.utils import FakeDevice +from bec_widgets.tests.fake_devices import FakeDevice from bec_widgets.widgets.control.device_input.device_combobox.device_combobox import ( BECDeviceFilter, DeviceComboBox, diff --git a/tests/unit_tests/test_positioner_box.py b/tests/unit_tests/test_positioner_box.py index 2f759ad5..e7d7b75f 100644 --- a/tests/unit_tests/test_positioner_box.py +++ b/tests/unit_tests/test_positioner_box.py @@ -7,7 +7,7 @@ from qtpy.QtCore import Qt, QTimer from qtpy.QtGui import QValidator from qtpy.QtWidgets import QPushButton -from bec_widgets.tests.utils import Positioner +from bec_widgets.tests.fake_devices import Positioner from bec_widgets.widgets.control.device_control.positioner_box import ( PositionerBox, PositionerControlLine, diff --git a/tests/unit_tests/test_ring_progress_bar_ring.py b/tests/unit_tests/test_ring_progress_bar_ring.py index 37661d83..321b9746 100644 --- a/tests/unit_tests/test_ring_progress_bar_ring.py +++ b/tests/unit_tests/test_ring_progress_bar_ring.py @@ -6,7 +6,7 @@ import pytest from bec_lib.endpoints import MessageEndpoints from qtpy.QtGui import QColor -from bec_widgets.tests.utils import FakeDevice +from bec_widgets.tests.fake_devices import FakeDevice from bec_widgets.widgets.progress.ring_progress_bar.ring import ProgressbarConfig, Ring from bec_widgets.widgets.progress.ring_progress_bar.ring_progress_bar import ( RingProgressContainerWidget,