Initial commit: suixinkan_ios UIKit rewrite project.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-26 14:33:31 +08:00
commit 9edf993432
297 changed files with 47151 additions and 0 deletions

View File

@ -0,0 +1,60 @@
//
// StorageTests.swift
// suixinkanTests
//
// Created by Codex on 2026/6/20.
//
import XCTest
@testable import suixinkan_ios
/// Store UserDefaults
final class StorageTests: XCTestCase {
/// AppPreferencesStore
func testAppPreferencesStorePersistsLoginPreferences() {
let defaults = makeIsolatedDefaults()
let store = AppPreferencesStore(defaults: defaults)
store.saveLastLoginUsername(" 18651857230 ")
store.savePrivacyAgreementAccepted(true)
XCTAssertEqual(store.loadLastLoginUsername(), "18651857230")
XCTAssertTrue(store.loadPrivacyAgreementAccepted())
}
///
func testAccountSnapshotStorePersistsAccountContextSnapshot() {
let defaults = makeIsolatedDefaults()
let store = AccountSnapshotStore(defaults: defaults)
let snapshot = AccountSnapshot(
profile: AccountProfile(
userId: "101",
displayName: "测试账号",
phone: "18651857230",
avatarURL: "https://cdn.example.com/avatar.jpg"
),
accountType: "store_user",
businessUserId: 101,
scenicScopes: [
BusinessScope(id: 88, name: "东门景区", kind: .scenic)
],
storeScopes: [
BusinessScope(id: 66, name: "东门门店", kind: .store)
],
currentScenicId: 88,
currentStoreId: 66
)
store.save(snapshot)
XCTAssertEqual(store.load(), snapshot)
}
/// UserDefaults App
private func makeIsolatedDefaults() -> UserDefaults {
let suiteName = "suixinkan.tests.\(UUID().uuidString)"
let defaults = UserDefaults(suiteName: suiteName)!
defaults.removePersistentDomain(forName: suiteName)
return defaults
}
}