Files
cmshoppe/tests/test_gui.py
T

46 lines
1.2 KiB
Python
Raw Normal View History

2026-06-27 09:56:53 +08:00
import unittest
import os
import sys
os.environ.setdefault("QT_QPA_PLATFORM", "offscreen")
sys.path.insert(0, os.path.dirname(__file__))
from app import gui
if gui.QT_IMPORT_ERROR is not None:
raise unittest.SkipTest("PySide6 未安装")
from PySide6.QtWidgets import QApplication
from app.gui import MainWindow, TAB_TITLES
class GuiTests(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.app = QApplication.instance() or QApplication([])
def test_main_window_has_five_tabs_in_workflow_order(self):
window = MainWindow()
self.addCleanup(window.close)
self.assertEqual(5, window.tabs.count())
self.assertEqual(
TAB_TITLES,
[window.tabs.tabText(index) for index in range(window.tabs.count())],
)
self.assertEqual("就绪", window.statusBar().currentMessage())
def test_tab_switch_updates_status_bar(self):
window = MainWindow()
self.addCleanup(window.close)
window.tabs.setCurrentIndex(2)
self.assertEqual("③ 更新shopee", window.tabs.tabText(window.tabs.currentIndex()))
self.assertEqual("当前:③ 更新shopee", window.statusBar().currentMessage())
if __name__ == "__main__":
unittest.main()