import Foundation import Testing @testable import LocalData @Suite struct AnyStorageKeyTests { private func makeStringKey(name: String) -> StorageKey { StorageKey( name: name, domain: .userDefaults(suite: nil), security: .none, owner: "Test", description: "Test" ) } @Test func anyStorageKeyCapturesDescriptor() { let key = makeStringKey(name: "test.key") let anyKey = AnyStorageKey.key(key) #expect(anyKey.descriptor.name == "test.key") #expect(anyKey.descriptor.owner == "Test") #expect(anyKey.descriptor.valueType == "String") } @Test func anyStorageKeyTriggersMigration() async throws { let router = StorageRouter(keychain: MockKeychainHelper()) let key = makeStringKey(name: "test.key") let anyKey = AnyStorageKey.key(key) // This will call router.forceMigration(for: key) // Since there is no migration configured, it just returns try await anyKey.migrate(on: router) } }