Files
suixinkan_uikit/suixinkanTests/RealNameAuthViewModelTests.swift
汉秋 005cac3f78 Implement profile tab with Android-aligned flows and OSS upload.
Add personal info page, account switch, real-name auth, withdrawal settings, session cache extensions, AlibabaCloudOSS SPM, and unit tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 16:01:05 +08:00

31 lines
940 B
Swift

//
// RealNameAuthViewModelTests.swift
// suixinkanTests
//
import XCTest
@testable import suixinkan
/// ViewModel
final class RealNameAuthViewModelTests: XCTestCase {
func testValidationRequiresSmsCodeWhenNotVerified() {
let viewModel = RealNameAuthViewModel()
viewModel.updateRealName("张三")
viewModel.updateIdCardNo("11010519491231002X")
XCTAssertEqual(viewModel.validationMessage, "请输入短信验证码")
}
func testIsValidMainlandIDCardNumberChecksChecksum() {
XCTAssertTrue(RealNameAuthViewModel.isValidMainlandIDCardNumber("11010519491231002X"))
XCTAssertFalse(RealNameAuthViewModel.isValidMainlandIDCardNumber("123"))
}
func testNormalizedIDCardNumberUppercasesSuffix() {
XCTAssertEqual(
RealNameAuthViewModel.normalizedIDCardNumber("11010519491231002x"),
"11010519491231002X"
)
}
}