Files
steipete--codexbar/Tests/CodexBarTests/ProviderDetectionPolicyTests.swift
2026-07-13 12:22:33 +08:00

45 lines
1.4 KiB
Swift

import Testing
@testable import CodexBar
@testable import CodexBarCore
struct ProviderDetectionPolicyTests {
@Test
func `fresh install detects Codex and Claude Desktop without unconfigured Gemini`() {
let enabled = ProviderDetectionPolicy.enabledProviders(signals: .init(
codexCLIInstalled: true,
claudeCLIInstalled: false,
claudeDesktopInstalled: true,
geminiCLIInstalled: true,
geminiConfigured: false,
antigravityAvailable: false))
#expect(enabled == [.codex, .claude])
}
@Test
func `configured Gemini CLI is detected`() {
let enabled = ProviderDetectionPolicy.enabledProviders(signals: .init(
codexCLIInstalled: false,
claudeCLIInstalled: false,
claudeDesktopInstalled: false,
geminiCLIInstalled: true,
geminiConfigured: true,
antigravityAvailable: false))
#expect(enabled == [.gemini])
}
@Test
func `Codex remains the fallback when no provider source is available`() {
let enabled = ProviderDetectionPolicy.enabledProviders(signals: .init(
codexCLIInstalled: false,
claudeCLIInstalled: false,
claudeDesktopInstalled: false,
geminiCLIInstalled: false,
geminiConfigured: false,
antigravityAvailable: false))
#expect(enabled == [.codex])
}
}