import CodexBarCoreimport Foundationimport SwiftUIimport Testing@testable import CodexBar struct CopilotMenuCardModelTests { @Test func `hides copilot budget bars when budget extras are disabled`() throws { let now = Date() let snapshot = UsageSnapshot( primary: RateWindow(usedPercent: 20, windowMinutes: nil, resetsAt: nil, resetDescription: nil), secondary: RateWindow(usedPercent: 30, windowMinutes: nil, resetsAt: nil, resetDescription: nil), extraRateWindows: [ NamedRateWindow( id: "copilot-budget-agent", title: "Budget - Copilot Agent Premium Requests", window: RateWindow(usedPercent: 65, windowMinutes: nil, resetsAt: nil, resetDescription: nil)), ], updatedAt: now) let metadata = try #require(ProviderDefaults.metadata[.copilot]) let model = UsageMenuCardView.Model.make(.init( provider: .copilot, metadata: metadata, snapshot: snapshot, credits: nil, creditsError: nil, dashboard: nil, dashboardError: nil, tokenSnapshot: nil, tokenError: nil, account: AccountInfo(email: nil, plan: nil), isRefreshing: false, lastError: nil, usageBarsShowUsed: false, resetTimeDisplayStyle: .countdown, tokenCostUsageEnabled: false, showOptionalCreditsAndExtraUsage: true, hidePersonalInfo: false, now: now)) #expect(model.metrics.map(\.title) == ["Premium", "Chat"]) }}
import CodexBarCore
import Foundation
import SwiftUI
import Testing
@testable import CodexBar
struct CopilotMenuCardModelTests {
@Test
func `hides copilot budget bars when budget extras are disabled`() throws {
let now = Date()
let snapshot = UsageSnapshot(
primary: RateWindow(usedPercent: 20, windowMinutes: nil, resetsAt: nil, resetDescription: nil),
secondary: RateWindow(usedPercent: 30, windowMinutes: nil, resetsAt: nil, resetDescription: nil),
extraRateWindows: [
NamedRateWindow(
id: "copilot-budget-agent",
title: "Budget - Copilot Agent Premium Requests",
window: RateWindow(usedPercent: 65, windowMinutes: nil, resetsAt: nil, resetDescription: nil)),
],
updatedAt: now)
let metadata = try #require(ProviderDefaults.metadata[.copilot])
let model = UsageMenuCardView.Model.make(.init(
provider: .copilot,
metadata: metadata,
snapshot: snapshot,
credits: nil,
creditsError: nil,
dashboard: nil,
dashboardError: nil,
tokenSnapshot: nil,
tokenError: nil,
account: AccountInfo(email: nil, plan: nil),
isRefreshing: false,
lastError: nil,
usageBarsShowUsed: false,
resetTimeDisplayStyle: .countdown,
tokenCostUsageEnabled: false,
showOptionalCreditsAndExtraUsage: true,
hidePersonalInfo: false,
now: now))
#expect(model.metrics.map(\.title) == ["Premium", "Chat"])
}
}