feat: 内置并统一使用项目 ADB (#149)
This commit is contained in:
@@ -5,6 +5,7 @@ import tempfile
|
||||
import time
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
from unittest.mock import patch
|
||||
|
||||
os.environ.setdefault("QT_QPA_PLATFORM", "offscreen")
|
||||
|
||||
@@ -12,6 +13,7 @@ from PyQt5.QtCore import Qt, QTimer
|
||||
from PyQt5.QtTest import QTest
|
||||
from PyQt5.QtWidgets import QApplication
|
||||
|
||||
from src.adb_runtime import BundledAdbError
|
||||
from src.android_device_service import (
|
||||
AndroidDevice,
|
||||
AndroidDeviceConversionCancelled,
|
||||
@@ -218,6 +220,24 @@ class SettingsPageEventTest(unittest.TestCase):
|
||||
page.eventBinder.shutdown()
|
||||
page.deleteLater()
|
||||
|
||||
def test_missing_bundled_adb_disables_device_commands(self):
|
||||
message = "内置 ADB 文件缺失:adb.exe。请重新安装完整的软件包。"
|
||||
with patch(
|
||||
"src.settings_ui_event.validate_bundled_adb",
|
||||
side_effect=BundledAdbError(message),
|
||||
):
|
||||
page = SettingsPage(
|
||||
settings_repository=self.repository,
|
||||
admin_gateway=MockAdminGateway(),
|
||||
)
|
||||
|
||||
self.assertEqual(page.deviceStatusLabel.text(), message)
|
||||
self.assertFalse(page.searchButton.isEnabled())
|
||||
self.assertFalse(page.convertWifiButton.isEnabled())
|
||||
self.assertTrue(page.currentDeviceSaveButton.isEnabled())
|
||||
page.eventBinder.shutdown()
|
||||
page.deleteLater()
|
||||
|
||||
def test_compact_form_layout_keeps_related_fields_on_same_row(self):
|
||||
page = SettingsPage(
|
||||
settings_repository=self.repository,
|
||||
|
||||
Reference in New Issue
Block a user