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

37 lines
1.2 KiB
Swift

import CodexBarCore
import Testing
@testable import CodexBar
@MainActor
@Suite(.serialized)
struct MenuDescriptorKimiK2Tests {
@Test
func `kimi K2 menu exposes the usage dashboard action`() {
let settings = testSettingsStore(suiteName: "MenuDescriptorKimiK2Tests-dashboard")
settings.statusChecksEnabled = false
settings.refreshFrequency = .manual
settings.mergeIcons = false
let store = UsageStore(
fetcher: UsageFetcher(environment: [:]),
browserDetection: BrowserDetection(cacheTTL: 0),
settings: settings)
let descriptor = MenuDescriptor.build(
provider: .kimik2,
store: store,
settings: settings,
account: AccountInfo(email: nil, plan: nil),
updateReady: false)
let actions = descriptor.sections
.flatMap(\.entries)
.compactMap { entry -> (String, MenuDescriptor.MenuAction)? in
guard case let .action(title, action) = entry else { return nil }
return (title, action)
}
#expect(actions.contains { title, action in
title == "Usage Dashboard" && action == .dashboard
})
}
}