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>
31 lines
940 B
Swift
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"
|
|
)
|
|
}
|
|
}
|