接入友盟统计与 U-APM,并优化宣传页打卡点标签交互。
友盟 SDK 改为隐私同意后再初始化;宣传页标签新增滑块位移动画,超过 5 个时选中项自动滚动居中。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@ -45,6 +45,60 @@ final class StorageTests: XCTestCase {
|
||||
XCTAssertTrue(store.loadPrivacyAgreementAccepted())
|
||||
}
|
||||
|
||||
/// 测试清空登录页偏好会移除隐私协议同意状态。
|
||||
func testAppPreferencesStoreClearRemovesPrivacyAgreement() {
|
||||
let defaults = makeIsolatedDefaults()
|
||||
let store = AppPreferencesStore(defaults: defaults)
|
||||
|
||||
store.savePrivacyAgreementAccepted(true)
|
||||
store.clear()
|
||||
|
||||
XCTAssertFalse(store.loadPrivacyAgreementAccepted())
|
||||
}
|
||||
|
||||
/// 测试登录协调器保存隐私同意状态后会触发回调。
|
||||
@MainActor
|
||||
func testAuthSessionCoordinatorPrivacyPersistenceTriggersCallback() {
|
||||
let defaults = makeIsolatedDefaults()
|
||||
let store = AppPreferencesStore(defaults: defaults)
|
||||
var persistedValues: [Bool] = []
|
||||
let coordinator = AuthSessionCoordinator(
|
||||
tokenStore: SessionTokenStore(defaults: defaults, key: "session.token.privacy.test"),
|
||||
snapshotStore: AccountSnapshotStore(defaults: defaults, key: "account.snapshot.privacy.test"),
|
||||
preferencesStore: store,
|
||||
onPrivacyAgreementPersisted: { persistedValues.append($0) }
|
||||
)
|
||||
|
||||
coordinator.savePrivacyAgreementAccepted(true)
|
||||
|
||||
XCTAssertTrue(store.loadPrivacyAgreementAccepted())
|
||||
XCTAssertEqual(persistedValues, [true])
|
||||
}
|
||||
|
||||
/// 测试退出登录会保留隐私协议状态等非敏感偏好。
|
||||
@MainActor
|
||||
func testAuthSessionCoordinatorLogoutKeepsPrivacyAgreement() {
|
||||
let defaults = makeIsolatedDefaults()
|
||||
let store = AppPreferencesStore(defaults: defaults)
|
||||
let coordinator = AuthSessionCoordinator(
|
||||
tokenStore: SessionTokenStore(defaults: defaults, key: "session.token.logout.test"),
|
||||
snapshotStore: AccountSnapshotStore(defaults: defaults, key: "account.snapshot.logout.test"),
|
||||
preferencesStore: store
|
||||
)
|
||||
coordinator.savePrivacyAgreementAccepted(true)
|
||||
|
||||
coordinator.logout(
|
||||
appSession: AppSession(),
|
||||
accountContext: AccountContext(),
|
||||
permissionContext: PermissionContext(),
|
||||
scenicSpotContext: ScenicSpotContext(),
|
||||
appRouter: AppRouter(),
|
||||
toastCenter: ToastCenter()
|
||||
)
|
||||
|
||||
XCTAssertTrue(store.loadPrivacyAgreementAccepted())
|
||||
}
|
||||
|
||||
/// 测试账号快照能保存并恢复账号资料、业务作用域和当前选择。
|
||||
func testAccountSnapshotStorePersistsAccountContextSnapshot() {
|
||||
let defaults = makeIsolatedDefaults()
|
||||
|
||||
Reference in New Issue
Block a user