// // APIErrorTests.swift // suixinkanTests // // Created by Codex on 2026/6/20. // import XCTest @testable import suixinkan /// 网络错误测试,覆盖登录凭证失效判断。 final class APIErrorTests: XCTestCase { /// 测试 HTTP 401 和 403 会被识别为登录失效。 func testAuthenticationExpiredForUnauthorizedHTTPStatus() { XCTAssertTrue(APIError.isAuthenticationExpired(APIError.httpStatus(401, "Unauthorized"))) XCTAssertTrue(APIError.isAuthenticationExpired(APIError.httpStatus(403, "Forbidden"))) } /// 测试后端业务码和中文失效文案会被识别为登录失效。 func testAuthenticationExpiredForServerTokenMessages() { XCTAssertTrue(APIError.isAuthenticationExpired(APIError.serverCode(200001, "token 已过期"))) XCTAssertTrue(APIError.isAuthenticationExpired(APIError.serverCode(0, "登录失效,请重新登录"))) } /// 测试普通网络错误不会被识别为登录失效。 func testNetworkErrorIsNotAuthenticationExpired() { XCTAssertFalse(APIError.isAuthenticationExpired(APIError.networkFailed("请求超时,请稍后重试"))) } }