LocalData/Tests/LocalDataTests/UserDefaultsHelperTests.swift
Matt Bruce e27e2e38bb Tests AnyCodableTests.swift, AnyStorageKeyTests.swift, AuditTests.swift (+8 more)
Summary:
- Tests: AnyCodableTests.swift, AnyStorageKeyTests.swift, AuditTests.swift, EncryptionLogicTests.swift, FileStorageHelperTests.swift (+6 more)
- Added symbols: struct NonCodable, struct StringKey, typealias Value, struct AuditCatalog, struct TestKey, struct RawProvider (+11 more)

Stats:
- 11 files changed, 698 insertions(+)
2026-01-18 14:53:29 -06:00

42 lines
1.4 KiB
Swift

import Foundation
import Testing
@testable import LocalData
@Suite struct UserDefaultsHelperTests {
private let helper = UserDefaultsHelper.shared
@Test func standardUserDefaultsRoundTrip() async throws {
let key = "test.standard.key"
let data = Data("standard-value".utf8)
try await helper.set(data, forKey: key, suite: nil)
let retrieved = try await helper.get(forKey: key, suite: nil)
#expect(retrieved == data)
let exists = try await helper.exists(forKey: key, suite: nil)
#expect(exists == true)
try await helper.remove(forKey: key, suite: nil)
let afterDelete = try await helper.get(forKey: key, suite: nil)
#expect(afterDelete == nil)
}
@Test func suiteUserDefaultsRoundTrip() async throws {
let suiteName = "com.test.suite.\(UUID().uuidString)"
let key = "test.suite.key"
let data = Data("suite-value".utf8)
try await helper.set(data, forKey: key, suite: suiteName)
let retrieved = try await helper.get(forKey: key, suite: suiteName)
#expect(retrieved == data)
let keys = try await helper.allKeys(suite: suiteName)
#expect(keys.contains(key))
try await helper.remove(forKey: key, suite: suiteName)
// Cleanup
UserDefaults().removePersistentDomain(forName: suiteName)
}
}