48 lines
1.3 KiB
Python
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>"
|