Includes provider integrations, settings, NSStatusItem UI, tests, Makefile, and README with screenshot. Co-authored-by: Cursor <cursoragent@cursor.com>
34 lines
1.1 KiB
Swift
34 lines
1.1 KiB
Swift
import XCTest
|
|
@testable import AIMenubarUsage
|
|
|
|
final class MenuBarDisplayTests: XCTestCase {
|
|
func testMenuBarDisplayShowsAllSelectedMetrics() {
|
|
let snapshot = ProviderUsageSnapshot(
|
|
providerID: .claude,
|
|
fetchedAt: Date(),
|
|
values: [
|
|
.claudeFiveHourUtilization: .percent(0),
|
|
.claudeSevenDayUtilization: .percent(6),
|
|
],
|
|
isStale: false
|
|
)
|
|
|
|
let display = snapshot.menuBarDisplay(for: [.claudeFiveHourUtilization, .claudeSevenDayUtilization])
|
|
XCTAssertEqual(display, "0%·6%")
|
|
}
|
|
|
|
func testMenuBarDisplayIncludesTextMetrics() {
|
|
let snapshot = ProviderUsageSnapshot(
|
|
providerID: .claude,
|
|
fetchedAt: Date(),
|
|
values: [
|
|
.claudeSevenDayUtilization: .percent(6),
|
|
.claudeSevenDayResetsAt: .text("Jul 31 at 10:59am"),
|
|
],
|
|
isStale: false
|
|
)
|
|
|
|
let display = snapshot.menuBarDisplay(for: [.claudeSevenDayUtilization, .claudeSevenDayResetsAt])
|
|
XCTAssertEqual(display, "6%·Jul 31 at …")
|
|
}
|
|
}
|