Files
matrix-screen-controller/发布更新相关/镜像编辑器/编辑器源代码/tests/test_gui.py
T

49 lines
1.8 KiB
Python

from __future__ import annotations
import os
from pathlib import Path
import sys
import unittest
os.environ.setdefault("QT_QPA_PLATFORM", "offscreen")
SOURCE_ROOT = Path(__file__).resolve().parents[1]
sys.path.insert(0, str(SOURCE_ROOT / "src"))
sys.path.insert(0, str(Path(__file__).resolve().parent))
from PySide6.QtWidgets import QApplication, QLineEdit # noqa: E402
from matrix_image_editor.gui import MainWindow # noqa: E402
from test_config import sample_config # noqa: E402
class GuiTests(unittest.TestCase):
@classmethod
def setUpClass(cls) -> None:
cls.app = QApplication.instance() or QApplication([])
def setUp(self) -> None:
self.window = MainWindow()
def tearDown(self) -> None:
self.window.close()
def test_passwords_are_hidden_and_dhcp_disables_static_fields(self) -> None:
self.assertEqual(self.window.account_password.echoMode(), QLineEdit.EchoMode.Password)
self.assertEqual(self.window.wifi_password.echoMode(), QLineEdit.EchoMode.Password)
for widget in (self.window.address, self.window.prefix, self.window.gateway, self.window.dns):
self.assertFalse(widget.isEnabled())
self.window.mode.setCurrentIndex(1)
for widget in (self.window.address, self.window.prefix, self.window.gateway, self.window.dns):
self.assertTrue(widget.isEnabled())
def test_loaded_values_collect_without_changing_image_version(self) -> None:
config = sample_config()
self.window._apply_loaded(Path("sample.img"), config)
self.window.username.setText("new_user")
collected = self.window._collect()
self.assertEqual(collected["software_version"], config["software_version"])
self.assertEqual(collected["account"]["username"], "new_user")
if __name__ == "__main__":
unittest.main()