chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
import CodexBarCore
|
||||
import Foundation
|
||||
import Testing
|
||||
@testable import CodexBar
|
||||
|
||||
struct PlanUtilizationHistoryChartMenuViewTests {
|
||||
@Test
|
||||
func `merged entries preserve first occurrence order while removing duplicates`() {
|
||||
let first = PlanUtilizationHistoryEntry(
|
||||
capturedAt: Date(timeIntervalSince1970: 100),
|
||||
usedPercent: 10,
|
||||
resetsAt: Date(timeIntervalSince1970: 200))
|
||||
let second = PlanUtilizationHistoryEntry(
|
||||
capturedAt: Date(timeIntervalSince1970: 300),
|
||||
usedPercent: 20,
|
||||
resetsAt: nil)
|
||||
|
||||
let merged = PlanUtilizationHistoryChartMenuView.mergedEntries([
|
||||
first,
|
||||
second,
|
||||
first,
|
||||
second,
|
||||
])
|
||||
|
||||
#expect(merged == [first, second])
|
||||
}
|
||||
|
||||
@Test
|
||||
func `generic primary weekly window keeps weekly history visible`() {
|
||||
let history = PlanUtilizationSeriesHistory(
|
||||
name: .weekly,
|
||||
windowMinutes: 10080,
|
||||
entries: [
|
||||
PlanUtilizationHistoryEntry(
|
||||
capturedAt: Date(timeIntervalSince1970: 1_700_000_000),
|
||||
usedPercent: 42,
|
||||
resetsAt: nil),
|
||||
])
|
||||
let snapshot = UsageSnapshot(
|
||||
primary: RateWindow(usedPercent: 42, windowMinutes: 10080, resetsAt: nil, resetDescription: nil),
|
||||
secondary: nil,
|
||||
updatedAt: Date(timeIntervalSince1970: 1_700_000_000))
|
||||
|
||||
let model = PlanUtilizationHistoryChartMenuView._modelSnapshotForTesting(
|
||||
histories: [history],
|
||||
provider: .zai,
|
||||
snapshot: snapshot)
|
||||
|
||||
#expect(model.visibleSeries == ["weekly:10080"])
|
||||
#expect(model.selectedSeries == "weekly:10080")
|
||||
}
|
||||
|
||||
@Test
|
||||
func `generic unknown weekly extra window does not filter saved history`() {
|
||||
let history = PlanUtilizationSeriesHistory(
|
||||
name: .weekly,
|
||||
windowMinutes: 10080,
|
||||
entries: [
|
||||
PlanUtilizationHistoryEntry(
|
||||
capturedAt: Date(timeIntervalSince1970: 1_700_000_000),
|
||||
usedPercent: 42,
|
||||
resetsAt: nil),
|
||||
])
|
||||
let snapshot = UsageSnapshot(
|
||||
primary: nil,
|
||||
secondary: nil,
|
||||
extraRateWindows: [
|
||||
NamedRateWindow(
|
||||
id: "weekly-reset-only",
|
||||
title: "Weekly reset",
|
||||
window: RateWindow(
|
||||
usedPercent: 0,
|
||||
windowMinutes: 10080,
|
||||
resetsAt: Date(timeIntervalSince1970: 1_700_003_600),
|
||||
resetDescription: nil),
|
||||
usageKnown: false),
|
||||
],
|
||||
updatedAt: Date(timeIntervalSince1970: 1_700_000_000))
|
||||
|
||||
let model = PlanUtilizationHistoryChartMenuView._modelSnapshotForTesting(
|
||||
histories: [history],
|
||||
provider: .zed,
|
||||
snapshot: snapshot)
|
||||
|
||||
#expect(model.visibleSeries == ["weekly:10080"])
|
||||
#expect(model.selectedSeries == "weekly:10080")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user