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

45 lines
1.6 KiB
Swift

import Testing
@testable import CodexBarCore
struct CopilotBudgetCookieRoutingTests {
@Test
func `auto budget cookies ignore stale manual header`() {
let settings = ProviderSettingsSnapshot.CopilotProviderSettings(
budgetExtrasEnabled: true,
budgetCookieSource: .auto,
manualBudgetCookieHeader: "user_session=stale")
#expect(CopilotAPIFetchStrategy.budgetCookieHeaderOverride(from: settings) == nil)
}
@Test
func `manual budget cookies use trimmed manual header`() {
let settings = ProviderSettingsSnapshot.CopilotProviderSettings(
budgetExtrasEnabled: true,
budgetCookieSource: .manual,
manualBudgetCookieHeader: " user_session=manual ")
#expect(CopilotAPIFetchStrategy.budgetCookieHeaderOverride(from: settings) == "user_session=manual")
}
@Test
func `manual budget cookies require non-empty header`() {
let settings = ProviderSettingsSnapshot.CopilotProviderSettings(
budgetExtrasEnabled: true,
budgetCookieSource: .manual,
manualBudgetCookieHeader: " ")
#expect(CopilotAPIFetchStrategy.budgetCookieHeaderOverride(from: settings) == nil)
}
@Test
func `invalid manual budget cookies do not fall back to browser import`() {
let settings = ProviderSettingsSnapshot.CopilotProviderSettings(
budgetExtrasEnabled: true,
budgetCookieSource: .manual,
manualBudgetCookieHeader: "Cookie:")
#expect(CopilotAPIFetchStrategy.budgetCookieHeaderOverride(from: settings) == nil)
}
}