补充 Auth/Tasks/ScenicPermission/Live 单元测试,并完善 UI Test 登录与会话稳定性。

移除 LoginViewModel 硬编码账号,扩展登录流程测试覆盖;调整 ZLoginSmokeUITests 执行顺序与路由直达逻辑,避免清空 Keychain 影响其它用例。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-26 12:44:10 +08:00
parent aac8458b04
commit d27438b264
17 changed files with 1104 additions and 36 deletions

View File

@ -20,7 +20,7 @@ enum AppUITestRouteDriver {
|| AppUITestLaunchState.pendingProfileRouteRawValue != nil else { return }
didApply = true
try? await Task.sleep(nanoseconds: 600_000_000)
try? await Task.sleep(nanoseconds: 1_200_000_000)
if let menuTitle = AppUITestLaunchState.pendingMenuTitle {
openHomeMenu(title: menuTitle, appRouter: appRouter)
@ -34,10 +34,12 @@ enum AppUITestRouteDriver {
///
private static func openHomeMenu(title: String, appRouter: AppRouter) {
guard let item = HomeMenuRouter.debugAllMenuItems().first(where: { $0.title == title }) else {
let resolvedTitle = resolveMenuTitle(title)
guard let item = HomeMenuRouter.debugAllMenuItems().first(where: { $0.title == resolvedTitle }) else {
return
}
appRouter.reset()
let resolved = HomeMenuRouter.resolve(uri: item.uri, title: item.title)
switch resolved {
case .tab(let tab):
@ -79,8 +81,19 @@ enum AppUITestRouteDriver {
}
guard let route else { return }
appRouter.reset()
appRouter.select(.profile)
appRouter.router(for: .profile).navigate(to: .profile(route))
}
/// UI Test
private static func resolveMenuTitle(_ title: String) -> String {
switch title {
case "系统设置":
return "设置中心"
default:
return title
}
}
}
#endif

View File

@ -70,8 +70,8 @@ enum LoginFlowError: LocalizedError {
@MainActor
/// ViewModel
final class LoginViewModel: ObservableObject {
@Published var username = "18651857230"
@Published var password = "zhifly666"
@Published var username = ""
@Published var password = ""
@Published var privacyChecked = false
@Published var isLoading = false
@Published var isSelectingAccount = false