46 lines
1.2 KiB
Python
46 lines
1.2 KiB
Python
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()
|