mirror of
https://github.com/bec-project/bec_widgets.git
synced 2026-03-30 13:28:07 +02:00
41 lines
1.4 KiB
Python
41 lines
1.4 KiB
Python
from unittest.mock import MagicMock
|
|
|
|
from bec_widgets.widgets.plots.waveform.utils.alignment_panel import WaveformAlignmentPanel
|
|
|
|
from .client_mocks import mocked_client
|
|
from .conftest import create_widget
|
|
|
|
|
|
def test_alignment_panel_forwards_position_and_target_signals(qtbot, mocked_client):
|
|
panel = create_widget(qtbot, WaveformAlignmentPanel, client=mocked_client)
|
|
|
|
position_callback = MagicMock()
|
|
target_toggle_callback = MagicMock()
|
|
target_move_callback = MagicMock()
|
|
|
|
panel.position_readback_changed.connect(position_callback)
|
|
panel.target_toggled.connect(target_toggle_callback)
|
|
panel.target_move_requested.connect(target_move_callback)
|
|
|
|
panel.positioner.position_update.emit(1.25)
|
|
panel.target_toggle.setChecked(True)
|
|
panel.move_to_target_button.setEnabled(True)
|
|
panel.move_to_target_button.click()
|
|
|
|
position_callback.assert_called_once_with(1.25)
|
|
target_toggle_callback.assert_called_once_with(True)
|
|
target_move_callback.assert_called_once_with()
|
|
|
|
|
|
def test_alignment_panel_emits_only_center_fit_actions(qtbot, mocked_client):
|
|
panel = create_widget(qtbot, WaveformAlignmentPanel, client=mocked_client)
|
|
|
|
fit_center_callback = MagicMock()
|
|
panel.fit_center_requested.connect(fit_center_callback)
|
|
|
|
panel.fit_dialog.move_action.emit(("sigma", 0.5))
|
|
fit_center_callback.assert_not_called()
|
|
|
|
panel.fit_dialog.move_action.emit(("center", 2.5))
|
|
fit_center_callback.assert_called_once_with(2.5)
|