Skip to content

Commit 7cc242c

Browse files
committed
Enhance main app test: add group creation, renaming, and object removal
1 parent b85661a commit 7cc242c

File tree

2 files changed

+34
-11
lines changed

2 files changed

+34
-11
lines changed

cdl/core/gui/panel/base.py

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -649,16 +649,30 @@ def new_group(self) -> None:
649649
if ok:
650650
self.add_group(group_name)
651651

652-
def rename_group(self) -> None:
653-
"""Rename a group"""
654-
# Open a message box to enter the group name
655-
group = self.objview.get_sel_groups()[0]
656-
group_name, ok = QW.QInputDialog.getText(
657-
self, _("Rename group"), _("Group name:"), QW.QLineEdit.Normal, group.title
658-
)
659-
if ok:
660-
group.title = group_name
661-
self.objview.update_item(group.uuid)
652+
def rename_group(self, new_name: str | None = None) -> None:
653+
"""Rename a group
654+
655+
Args:
656+
new_name: new group name. Defaults to None (ask user).
657+
"""
658+
sel_groups = self.objview.get_sel_groups()
659+
if not sel_groups or len(sel_groups) > 1:
660+
# Won't happen in the application, but could happen in tests or using the
661+
# API directly
662+
raise ValueError("Select one group to rename")
663+
group = sel_groups[0]
664+
if new_name is None:
665+
new_name, ok = QW.QInputDialog.getText(
666+
self,
667+
_("Rename group"),
668+
_("Group name:"),
669+
QW.QLineEdit.Normal,
670+
group.title,
671+
)
672+
if not ok:
673+
return
674+
group.title = new_name
675+
self.objview.update_item(group.uuid)
662676

663677
@abc.abstractmethod
664678
def get_newparam_from_current(

cdl/tests/backbone/main_app_test.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,17 @@ def test_main_app():
3131
except ValueError:
3232
pass
3333

34-
# Add signals to signal panel
3534
panel = win.signalpanel
35+
36+
# Create new groups
37+
panel.add_group("Group 1")
38+
panel.add_group("Group 2")
39+
# Rename group
40+
panel.objview.select_groups([2])
41+
panel.rename_group("Group xxx")
42+
panel.remove_object(force=True)
43+
44+
# Add signals to signal panel
3645
sig1 = create_paracetamol_signal(500)
3746
panel.add_object(sig1)
3847
panel.processor.compute_derivative()

0 commit comments

Comments
 (0)