"""The whole window builds (catches errors that only show when the app starts).""" import os os.environ.setdefault("QT_QPA_PLATFORM", "offscreen") def test_main_window_builds_with_all_tabs(): from PySide6.QtWidgets import QApplication from kota_tech.ui.main_window import MainWindow app = QApplication.instance() or QApplication([]) w = MainWindow() tabs = w.centralWidget() assert [tabs.tabText(i) for i in range(tabs.count())] == \ ["Quick start", "Serial monitor", "Flash firmware", "Wi-Fi (USB)", "SD card"] assert not w.wifi_tab.write_btn.isEnabled() # nothing connected, nothing typed settings = [a.text() for m in w.menuBar().actions() for a in m.menu().actions()] assert "InfluxDB access..." in settings w.serial_tab.shutdown() app.processEvents()