mirror of
https://github.com/bec-project/bec_widgets.git
synced 2025-07-14 03:31:50 +02:00
refactor: test_config_dialog.py and test_bec_monitor.py clean up
This commit is contained in:
@ -3,7 +3,6 @@ import yaml
|
||||
|
||||
import pytest
|
||||
from unittest.mock import MagicMock
|
||||
from PyQt5.QtWidgets import QApplication
|
||||
|
||||
from bec_widgets.widgets import BECMonitor
|
||||
|
||||
@ -33,22 +32,6 @@ def setup_monitor(qtbot, config): # TODO fixture or helper function?
|
||||
return widget
|
||||
|
||||
|
||||
# @pytest.fixture(scope="module") # TODO is this needed?
|
||||
# def app():
|
||||
# app = QApplication([])
|
||||
# yield app
|
||||
#
|
||||
#
|
||||
# @pytest.fixture
|
||||
# def qtbot(app, qtbot): # TODO is this needed?
|
||||
# """A qtbot fixture to ensure that widgets are closed after being used."""
|
||||
# qtbot.old_widgets = set(app.topLevelWidgets())
|
||||
# yield qtbot
|
||||
# new_widgets = set(app.topLevelWidgets()) - qtbot.old_widgets
|
||||
# for widget in new_widgets:
|
||||
# widget.close()
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"config, scan_type, number_of_plots",
|
||||
[
|
||||
|
@ -2,7 +2,7 @@ import os
|
||||
import yaml
|
||||
|
||||
import pytest
|
||||
from PyQt5.QtWidgets import QTabWidget, QTableWidgetItem, QApplication
|
||||
from PyQt5.QtWidgets import QTabWidget, QTableWidgetItem
|
||||
|
||||
from bec_widgets.widgets import ConfigDialog
|
||||
|
||||
@ -16,7 +16,7 @@ def load_config(config_path):
|
||||
return config
|
||||
|
||||
|
||||
# save configs as for test_bec_monitor.py
|
||||
# load saved configurations from .yaml files
|
||||
config_device = load_config(os.path.join(current_path, "test_configs/config_device.yaml"))
|
||||
config_device_no_entry = load_config(
|
||||
os.path.join(current_path, "test_configs/config_device_no_entry.yaml")
|
||||
@ -24,32 +24,16 @@ config_device_no_entry = load_config(
|
||||
config_scan = load_config(os.path.join(current_path, "test_configs/config_scan.yaml"))
|
||||
|
||||
|
||||
# @pytest.fixture(scope="module") # TODO is this needed?
|
||||
# def app():
|
||||
# app = QApplication([])
|
||||
# yield app
|
||||
#
|
||||
#
|
||||
# @pytest.fixture
|
||||
# def qtbot(app, qtbot): # TODO is this needed?
|
||||
# """A qtbot fixture to ensure that widgets are closed after being used."""
|
||||
# qtbot.old_widgets = set(app.topLevelWidgets())
|
||||
# yield qtbot
|
||||
# new_widgets = set(app.topLevelWidgets()) - qtbot.old_widgets
|
||||
# for widget in new_widgets:
|
||||
# widget.close()
|
||||
|
||||
|
||||
def setup_config_dialog(qtbot):
|
||||
@pytest.fixture(scope="function")
|
||||
def config_dialog(qtbot):
|
||||
widget = ConfigDialog()
|
||||
qtbot.addWidget(widget)
|
||||
qtbot.waitExposed(widget)
|
||||
return widget
|
||||
yield widget
|
||||
|
||||
|
||||
@pytest.mark.parametrize("config", [config_device, config_scan])
|
||||
def test_load_config(qtbot, config):
|
||||
config_dialog = setup_config_dialog(qtbot)
|
||||
def test_load_config(config_dialog, config):
|
||||
config_dialog.load_config(config)
|
||||
|
||||
assert (
|
||||
@ -68,8 +52,7 @@ def test_load_config(qtbot, config):
|
||||
(config_device_no_entry, False),
|
||||
],
|
||||
)
|
||||
def test_initialization(qtbot, config, scan_mode):
|
||||
config_dialog = setup_config_dialog(qtbot)
|
||||
def test_initialization(config_dialog, config, scan_mode):
|
||||
config_dialog.load_config(config)
|
||||
|
||||
assert isinstance(config_dialog, ConfigDialog)
|
||||
@ -95,8 +78,7 @@ def test_initialization(qtbot, config, scan_mode):
|
||||
) # Ensures plot tab widget exists in default mode
|
||||
|
||||
|
||||
def test_edit_and_apply_config(qtbot):
|
||||
config_dialog = setup_config_dialog(qtbot)
|
||||
def test_edit_and_apply_config(config_dialog):
|
||||
config_dialog.load_config(config_device)
|
||||
|
||||
config_dialog.comboBox_appearance.setCurrentText("white")
|
||||
@ -110,8 +92,7 @@ def test_edit_and_apply_config(qtbot):
|
||||
assert applied_config["plot_settings"]["colormap"] == "viridis"
|
||||
|
||||
|
||||
def test_edit_and_apply_config_scan_mode(qtbot):
|
||||
config_dialog = setup_config_dialog(qtbot)
|
||||
def test_edit_and_apply_config_scan_mode(config_dialog):
|
||||
config_dialog.load_config(config_scan)
|
||||
|
||||
config_dialog.comboBox_appearance.setCurrentText("white")
|
||||
@ -127,8 +108,7 @@ def test_edit_and_apply_config_scan_mode(qtbot):
|
||||
assert applied_config["plot_settings"]["scan_types"] is True
|
||||
|
||||
|
||||
def test_add_new_scan(qtbot):
|
||||
config_dialog = setup_config_dialog(qtbot)
|
||||
def test_add_new_scan(config_dialog):
|
||||
# Ensure the tab count is initially 1 (from the default config)
|
||||
assert config_dialog.tabWidget_scan_types.count() == 1
|
||||
|
||||
@ -142,8 +122,7 @@ def test_add_new_scan(qtbot):
|
||||
assert config_dialog.tabWidget_scan_types.tabText(1) == "Test Scan Tab"
|
||||
|
||||
|
||||
def test_add_new_plot_and_modify(qtbot):
|
||||
config_dialog = setup_config_dialog(qtbot)
|
||||
def test_add_new_plot_and_modify(config_dialog):
|
||||
# Ensure the tab count is initially 1 and it is called "Default"
|
||||
assert config_dialog.tabWidget_scan_types.count() == 1
|
||||
assert config_dialog.tabWidget_scan_types.tabText(0) == "Default"
|
||||
|
Reference in New Issue
Block a user