0
0
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:
wyzula-jan
2023-10-30 12:56:02 +01:00
committed by wyzula_j
parent 1cdd760e40
commit 1fd018512f
2 changed files with 11 additions and 49 deletions

View File

@ -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",
[

View File

@ -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"