Files
AareDAQ/tests/unit/gui/test_widgets.py
2026-07-06 15:39:02 +02:00

48 lines
1.3 KiB
Python

from aare.gui.widgets.alert_banner import AlertBanner
from aare.gui.widgets.status_label import StatusLabel
def test_alert_banner_show_message(qtbot):
banner = AlertBanner()
qtbot.addWidget(banner)
assert not banner.isVisible()
banner.show_message("Test Error", is_error=True)
assert banner.isVisible()
assert "Test Error" in banner._label.text()
assert "🛑" in banner._label.text()
banner.show_message("Test Success", is_error=False)
assert banner.isVisible()
assert "Test Success" in banner._label.text()
assert "✅" in banner._label.text()
banner.clear_message()
assert not banner.isVisible()
def test_alert_banner_waiting(qtbot):
banner = AlertBanner()
qtbot.addWidget(banner)
banner.show_waiting("Working", countdown_seconds=10)
assert banner.isVisible()
assert "Working" in banner._label.text()
assert "⏳" in banner._label.text()
assert "(10s)" in banner._label.text()
# Tick manually if we wanted to test timer, but usually we just test state
banner._tick_countdown()
assert "(9s)" in banner._label.text()
def test_status_label(qtbot):
label = StatusLabel(val=1.234, decimals=2)
qtbot.addWidget(label)
assert label.text() == "<b>1.23</b>"
label.new_value(5.6)
assert label.text() == "<b>5.60</b>"