63 lines
2.1 KiB
Swift
63 lines
2.1 KiB
Swift
import CodexBarCore
|
|
import Testing
|
|
@testable import CodexBar
|
|
|
|
struct MenuOpenRefreshPlanTests {
|
|
@Test
|
|
func `refresh all selects every enabled provider concurrently`() {
|
|
let plan = MenuOpenRefreshPlan.resolve(.init(
|
|
refreshAllOnOpen: true,
|
|
enabledProviders: [.codex, .claude, .factory],
|
|
visibleProviders: [.codex],
|
|
refreshingProviders: [],
|
|
staleProviders: [],
|
|
missingProviders: []))
|
|
|
|
#expect(plan.providers == [.codex, .claude, .factory])
|
|
#expect(plan.scheduling == .concurrent)
|
|
#expect(plan.refreshCodexDashboard)
|
|
}
|
|
|
|
@Test
|
|
func `refresh all skips dashboard refresh when codex is disabled`() {
|
|
let plan = MenuOpenRefreshPlan.resolve(.init(
|
|
refreshAllOnOpen: true,
|
|
enabledProviders: [.claude, .factory],
|
|
visibleProviders: [.claude],
|
|
refreshingProviders: [],
|
|
staleProviders: [],
|
|
missingProviders: []))
|
|
|
|
#expect(plan.providers == [.claude, .factory])
|
|
#expect(!plan.refreshCodexDashboard)
|
|
}
|
|
|
|
@Test
|
|
func `ordinary refresh selects only visible enabled retries sequentially`() {
|
|
let plan = MenuOpenRefreshPlan.resolve(.init(
|
|
refreshAllOnOpen: false,
|
|
enabledProviders: [.codex, .claude, .factory],
|
|
visibleProviders: [.factory, .codex, .claude, .cursor],
|
|
refreshingProviders: [.factory],
|
|
staleProviders: [.codex],
|
|
missingProviders: [.claude, .cursor]))
|
|
|
|
#expect(plan.providers == [.factory, .codex, .claude])
|
|
#expect(plan.scheduling == .sequential)
|
|
#expect(!plan.refreshCodexDashboard)
|
|
}
|
|
|
|
@Test
|
|
func `ordinary refresh skips fresh providers`() {
|
|
let plan = MenuOpenRefreshPlan.resolve(.init(
|
|
refreshAllOnOpen: false,
|
|
enabledProviders: [.codex],
|
|
visibleProviders: [.codex],
|
|
refreshingProviders: [],
|
|
staleProviders: [],
|
|
missingProviders: []))
|
|
|
|
#expect(plan.providers.isEmpty)
|
|
}
|
|
}
|