Peter SteinbergerAdd ProviderToggleStore testsbf48d0611 months agoHistory
51 lines · 1.8 KB · Swift
RawDownload
import Foundationimport Testing@testable import CodexBar @MainActor@Suitestruct ProviderToggleStoreTests {    @Test    func defaultsMatchMetadata() {        let defaults = UserDefaults(suiteName: "ProviderToggleStoreTests-defaults")!        defaults.removePersistentDomain(forName: "ProviderToggleStoreTests-defaults")        let store = ProviderToggleStore(userDefaults: defaults)        let registry = ProviderRegistry.shared        let codexMeta = registry.metadata[.codex]!        let claudeMeta = registry.metadata[.claude]!         #expect(store.isEnabled(metadata: codexMeta))        #expect(!store.isEnabled(metadata: claudeMeta))    }     @Test    func persistsChanges() {        let suite = "ProviderToggleStoreTests-persist"        let defaultsA = UserDefaults(suiteName: suite)!        defaultsA.removePersistentDomain(forName: suite)        let storeA = ProviderToggleStore(userDefaults: defaultsA)        let registry = ProviderRegistry.shared        let claudeMeta = registry.metadata[.claude]!         storeA.setEnabled(true, metadata: claudeMeta)         let defaultsB = UserDefaults(suiteName: suite)!        let storeB = ProviderToggleStore(userDefaults: defaultsB)        #expect(storeB.isEnabled(metadata: claudeMeta))    }     @Test    func purgesLegacyKeys() {        let suite = "ProviderToggleStoreTests-purge"        let defaults = UserDefaults(suiteName: suite)!        defaults.removePersistentDomain(forName: suite)        defaults.set(false, forKey: "showCodexUsage")        defaults.set(true, forKey: "showClaudeUsage")         let store = ProviderToggleStore(userDefaults: defaults)        store.purgeLegacyKeys()         #expect(defaults.object(forKey: "showCodexUsage") == nil)        #expect(defaults.object(forKey: "showClaudeUsage") == nil)    }}