From 7fb31fc4d762ff4ca839971b3092a084186f81b8 Mon Sep 17 00:00:00 2001 From: wyzula-jan Date: Wed, 5 Jun 2024 23:41:49 +0200 Subject: [PATCH] fix(test/e2e): spiral_progress_bar e2e tests rewritten to use config_dict --- .../spiral_progress_bar.py | 10 ---- tests/end-2-end/test_bec_dock_rpc_e2e.py | 47 ++++++++++--------- 2 files changed, 26 insertions(+), 31 deletions(-) diff --git a/bec_widgets/widgets/spiral_progress_bar/spiral_progress_bar.py b/bec_widgets/widgets/spiral_progress_bar/spiral_progress_bar.py index d8e172c9..cf244749 100644 --- a/bec_widgets/widgets/spiral_progress_bar/spiral_progress_bar.py +++ b/bec_widgets/widgets/spiral_progress_bar/spiral_progress_bar.py @@ -136,16 +136,6 @@ class SpiralProgressBar(BECConnector, QWidget): def rings(self, value): self._rings = value - def __str__(self): - return ( - "Spiral progress bar\n" - "-------------------\n" - f" Num bars: {self.config.num_bars}\n" - f"Bar colors: {[ring.color.getRgb() for ring in self.rings]}\n" - f"Bar values: [{', '.join('%.3f' % ring.value for ring in self.rings)}]\n" - f"Bar config: {' | '.join('%d: config min=%.3f, max=%.3f' % (i, ring.config.min_value, ring.config.max_value) for i, ring in enumerate(self.rings))}\n" - ) - def update_config(self, config: SpiralProgressBarConfig | dict): """ Update the configuration of the widget. diff --git a/tests/end-2-end/test_bec_dock_rpc_e2e.py b/tests/end-2-end/test_bec_dock_rpc_e2e.py index 6324bbce..9f64193c 100644 --- a/tests/end-2-end/test_bec_dock_rpc_e2e.py +++ b/tests/end-2-end/test_bec_dock_rpc_e2e.py @@ -163,12 +163,14 @@ def test_spiral_bar(rpc_server_dock): bar.set_colors_from_map("viridis") bar.set_value([10, 20, 30, 40, 50]) - docks_repr = dock.get_docks_repr() - bar_repr = docks_repr["docks"]["dock_0"]["widgets"][0] + bar_config = bar.config_dict - expected_colors = Colors.golden_angle_color("viridis", 5, "RGB") - assert f"Bar colors: {expected_colors}" in bar_repr - assert f"Bar values: [10.000, 20.000, 30.000, 40.000, 50.000]" in bar_repr + expected_colors = [list(color) for color in Colors.golden_angle_color("viridis", 5, "RGB")] + bar_colors = [ring.config_dict["color"] for ring in bar.rings] + bar_values = [ring.config_dict["value"] for ring in bar.rings] + assert bar_config["num_bars"] == 5 + assert bar_values == [10, 20, 30, 40, 50] + assert bar_colors == expected_colors def test_spiral_bar_scan_update(bec_client_lib, rpc_server_dock): @@ -176,7 +178,7 @@ def test_spiral_bar_scan_update(bec_client_lib, rpc_server_dock): d0 = dock.add_dock("dock_0") - d0.add_widget("SpiralProgressBar") + bar = d0.add_widget("SpiralProgressBar") client = bec_client_lib dev = client.device_manager.devices @@ -187,18 +189,20 @@ def test_spiral_bar_scan_update(bec_client_lib, rpc_server_dock): status = scans.line_scan(dev.samx, -5, 5, steps=10, exp_time=0.05, relative=False) status.wait() - bar_repr = dock.get_docks_repr()["docks"]["dock_0"]["widgets"][0] - assert "Num bars: 1" in bar_repr - assert "Bar values: [10.000]" in bar_repr - assert "0: config min=0.000, max=10.000" in bar_repr + bar_config = bar.config_dict + assert bar_config["num_bars"] == 1 + assert bar_config["rings"][0]["value"] == 10 + assert bar_config["rings"][0]["min_value"] == 0 + assert bar_config["rings"][0]["max_value"] == 10 status = scans.grid_scan(dev.samx, -5, 5, 4, dev.samy, -10, 10, 4, relative=True, exp_time=0.1) status.wait() - bar_repr = dock.get_docks_repr()["docks"]["dock_0"]["widgets"][0] - assert "Num bars: 1" in bar_repr - assert "Bar values: [16.000]" in bar_repr - assert "0: config min=0.000, max=16.000" in bar_repr + bar_config = bar.config_dict + assert bar_config["num_bars"] == 1 + assert bar_config["rings"][0]["value"] == 16 + assert bar_config["rings"][0]["min_value"] == 0 + assert bar_config["rings"][0]["max_value"] == 16 init_samx = dev.samx.read()["samx"]["value"] init_samy = dev.samy.read()["samy"]["value"] @@ -211,13 +215,14 @@ def test_spiral_bar_scan_update(bec_client_lib, rpc_server_dock): status = scans.umv(dev.samx, 5, dev.samy, 10, relative=True) status.wait() - bar_repr = dock.get_docks_repr()["docks"]["dock_0"]["widgets"][0] - assert "Num bars: 2" in bar_repr - assert f"Bar values: [{'%.3f' % final_samx}, {'%.3f' % final_samy}]" in bar_repr - assert ( - f"0: config min={'%.3f' % init_samx}, max={'%.3f' % final_samx} | 1: config min={'%.3f' % init_samy}, max={'%.3f' % final_samy}" - in bar_repr - ) + bar_config = bar.config_dict + assert bar_config["num_bars"] == 2 + assert bar_config["rings"][0]["value"] == final_samx + assert bar_config["rings"][1]["value"] == final_samy + assert bar_config["rings"][0]["min_value"] == init_samx + assert bar_config["rings"][0]["max_value"] == final_samx + assert bar_config["rings"][1]["min_value"] == init_samy + assert bar_config["rings"][1]["max_value"] == final_samy def test_auto_update(rpc_server_dock, bec_client, qtbot):