mirror of
https://github.com/bec-project/bec_widgets.git
synced 2025-07-14 11:41:49 +02:00
test(input-widgets): add e2e tests to test widget inputs with demo config of bec.
This commit is contained in:
@ -3400,7 +3400,7 @@ class SignalComboBox(RPCBase):
|
|||||||
@rpc_call
|
@rpc_call
|
||||||
def set_device(self, device: str | None):
|
def set_device(self, device: str | None):
|
||||||
"""
|
"""
|
||||||
Set the device. If device is not valid, device will be set to None which happpens
|
Set the device. If device is not valid, device will be set to None which happens
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
device(str): device name.
|
device(str): device name.
|
||||||
@ -3442,7 +3442,7 @@ class SignalLineEdit(RPCBase):
|
|||||||
@rpc_call
|
@rpc_call
|
||||||
def set_device(self, device: str | None):
|
def set_device(self, device: str | None):
|
||||||
"""
|
"""
|
||||||
Set the device. If device is not valid, device will be set to None which happpens
|
Set the device. If device is not valid, device will be set to None which happens
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
device(str): device name.
|
device(str): device name.
|
||||||
|
@ -79,7 +79,7 @@ class DeviceSignalInputBase(BECWidget):
|
|||||||
@Slot(str)
|
@Slot(str)
|
||||||
def set_device(self, device: str | None):
|
def set_device(self, device: str | None):
|
||||||
"""
|
"""
|
||||||
Set the device. If device is not valid, device will be set to None which happpens
|
Set the device. If device is not valid, device will be set to None which happens
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
device(str): device name.
|
device(str): device name.
|
||||||
|
@ -258,7 +258,10 @@ def test_widgets_e2e_device_combo_box(qtbot, connected_client_gui_obj, random_ge
|
|||||||
dock: client.BECDock
|
dock: client.BECDock
|
||||||
widget: client.DeviceComboBox
|
widget: client.DeviceComboBox
|
||||||
|
|
||||||
# No rpc calls to check so far, maybe set_device should be exposed
|
assert "samx" in widget.devices
|
||||||
|
assert "bpm4i" in widget.devices
|
||||||
|
|
||||||
|
widget.set_device("samx")
|
||||||
|
|
||||||
# Test removing the widget, or leaving it open for the next test
|
# Test removing the widget, or leaving it open for the next test
|
||||||
maybe_remove_dock_area(qtbot, gui=gui, random_int_gen=random_generator_from_seed)
|
maybe_remove_dock_area(qtbot, gui=gui, random_int_gen=random_generator_from_seed)
|
||||||
@ -274,10 +277,64 @@ def test_widgets_e2e_device_line_edit(qtbot, connected_client_gui_obj, random_ge
|
|||||||
dock: client.BECDock
|
dock: client.BECDock
|
||||||
widget: client.DeviceLineEdit
|
widget: client.DeviceLineEdit
|
||||||
|
|
||||||
# No rpc calls to check so far
|
assert widget._is_valid_input is False
|
||||||
# Should probably have a set_device method
|
assert "samx" in widget.devices
|
||||||
|
assert "bpm4i" in widget.devices
|
||||||
|
|
||||||
# No rpc calls to check so far, maybe set_device should be exposed
|
widget.set_device("samx")
|
||||||
|
assert widget._is_valid_input is True
|
||||||
|
|
||||||
|
# Test removing the widget, or leaving it open for the next test
|
||||||
|
maybe_remove_dock_area(qtbot, gui=gui, random_int_gen=random_generator_from_seed)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.timeout(PYTEST_TIMEOUT)
|
||||||
|
def test_widgets_e2e_signal_line_edit(qtbot, connected_client_gui_obj, random_generator_from_seed):
|
||||||
|
"""Test the DeviceSignalLineEdit widget."""
|
||||||
|
gui = connected_client_gui_obj
|
||||||
|
bec = gui._client
|
||||||
|
# Create dock_area, dock, widget
|
||||||
|
dock, widget = create_widget(qtbot, gui, gui.available_widgets.SignalLineEdit)
|
||||||
|
dock: client.BECDock
|
||||||
|
widget: client.SignalLineEdit
|
||||||
|
|
||||||
|
widget.set_device("samx")
|
||||||
|
assert widget._is_valid_input is False
|
||||||
|
assert widget.signals == [
|
||||||
|
"readback",
|
||||||
|
"setpoint",
|
||||||
|
"motor_is_moving",
|
||||||
|
"velocity",
|
||||||
|
"acceleration",
|
||||||
|
"tolerance",
|
||||||
|
]
|
||||||
|
widget.set_signal("readback")
|
||||||
|
assert widget._is_valid_input is True
|
||||||
|
|
||||||
|
# Test removing the widget, or leaving it open for the next test
|
||||||
|
maybe_remove_dock_area(qtbot, gui=gui, random_int_gen=random_generator_from_seed)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.timeout(PYTEST_TIMEOUT)
|
||||||
|
def test_widgets_e2e_signal_combobox(qtbot, connected_client_gui_obj, random_generator_from_seed):
|
||||||
|
"""Test the DeviceSignalComboBox widget."""
|
||||||
|
gui = connected_client_gui_obj
|
||||||
|
bec = gui._client
|
||||||
|
# Create dock_area, dock, widget
|
||||||
|
dock, widget = create_widget(qtbot, gui, gui.available_widgets.SignalComboBox)
|
||||||
|
dock: client.BECDock
|
||||||
|
widget: client.SignalComboBox
|
||||||
|
|
||||||
|
widget.set_device("samx")
|
||||||
|
assert widget.signals == [
|
||||||
|
"readback",
|
||||||
|
"setpoint",
|
||||||
|
"motor_is_moving",
|
||||||
|
"velocity",
|
||||||
|
"acceleration",
|
||||||
|
"tolerance",
|
||||||
|
]
|
||||||
|
widget.set_signal("readback")
|
||||||
|
|
||||||
# Test removing the widget, or leaving it open for the next test
|
# Test removing the widget, or leaving it open for the next test
|
||||||
maybe_remove_dock_area(qtbot, gui=gui, random_int_gen=random_generator_from_seed)
|
maybe_remove_dock_area(qtbot, gui=gui, random_int_gen=random_generator_from_seed)
|
||||||
|
Reference in New Issue
Block a user