LocalData/Tests/LocalDataTests/UserDefaultsHelperTests.swift

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)
}
}