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) }}
import Foundation
import Testing
@testable import CodexBar
@MainActor
@Suite
struct 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)
}
}