95 lines
3.3 KiB
Swift
95 lines
3.3 KiB
Swift
import Foundation
|
|
import Testing
|
|
@testable import CodexBarCore
|
|
|
|
struct AntigravityCompactFallbackTests {
|
|
@Test
|
|
func `model quota reset proximity does not imply window duration`() throws {
|
|
let resetTime = Date().addingTimeInterval(2 * 60 * 60)
|
|
let snapshot = AntigravityStatusSnapshot(
|
|
modelQuotas: [
|
|
AntigravityModelQuota(
|
|
label: "Gemini 3.1 Pro (Low)",
|
|
modelId: "MODEL_PLACEHOLDER_M36",
|
|
remainingFraction: 0.5,
|
|
resetTime: resetTime,
|
|
resetDescription: nil),
|
|
],
|
|
accountEmail: nil,
|
|
accountPlan: nil)
|
|
|
|
let usage = try snapshot.toUsageSnapshot()
|
|
|
|
#expect(usage.primary?.windowMinutes == nil)
|
|
#expect(usage.primary?.resetsAt == resetTime)
|
|
}
|
|
|
|
@Test
|
|
func `local unclassified model remains available as compact fallback`() throws {
|
|
let snapshot = AntigravityStatusSnapshot(
|
|
modelQuotas: [
|
|
AntigravityModelQuota(
|
|
label: "Experimental Model",
|
|
modelId: "MODEL_PLACEHOLDER_NEW",
|
|
remainingFraction: 0.36,
|
|
resetTime: nil,
|
|
resetDescription: nil),
|
|
],
|
|
accountEmail: nil,
|
|
accountPlan: nil,
|
|
source: .local)
|
|
|
|
let usage = try snapshot.toUsageSnapshot()
|
|
|
|
#expect(usage.primary == nil)
|
|
#expect(usage.secondary == nil)
|
|
#expect(usage.tertiary == nil)
|
|
#expect(usage.extraRateWindows?.map(\.id) == ["antigravity-compact-fallback-MODEL_PLACEHOLDER_NEW"])
|
|
#expect(usage.extraRateWindows?.map(\.title) == ["Experimental Model"])
|
|
#expect(usage.extraRateWindows?.map(\.window.usedPercent) == [64])
|
|
}
|
|
|
|
@Test
|
|
func `remote unclassified model remains detail only`() throws {
|
|
let snapshot = AntigravityStatusSnapshot(
|
|
modelQuotas: [
|
|
AntigravityModelQuota(
|
|
label: "Experimental Model",
|
|
modelId: "MODEL_PLACEHOLDER_NEW",
|
|
remainingFraction: 0.36,
|
|
resetTime: nil,
|
|
resetDescription: nil),
|
|
],
|
|
accountEmail: nil,
|
|
accountPlan: nil,
|
|
source: .remote)
|
|
|
|
let usage = try snapshot.toUsageSnapshot()
|
|
|
|
#expect(usage.primary == nil)
|
|
#expect(usage.secondary == nil)
|
|
#expect(usage.extraRateWindows?.map(\.id) == ["MODEL_PLACEHOLDER_NEW"])
|
|
}
|
|
|
|
@Test
|
|
func `fully unused local model remains available as compact fallback`() throws {
|
|
let snapshot = AntigravityStatusSnapshot(
|
|
modelQuotas: [
|
|
AntigravityModelQuota(
|
|
label: "Experimental Model",
|
|
modelId: "MODEL_PLACEHOLDER_NEW",
|
|
remainingFraction: 1,
|
|
resetTime: nil,
|
|
resetDescription: nil),
|
|
],
|
|
accountEmail: nil,
|
|
accountPlan: nil,
|
|
source: .local)
|
|
|
|
let usage = try snapshot.toUsageSnapshot()
|
|
|
|
#expect(usage.extraRateWindows?.map(\.id) == ["antigravity-compact-fallback-MODEL_PLACEHOLDER_NEW"])
|
|
#expect(usage.extraRateWindows?.map(\.window.usedPercent) == [0])
|
|
}
|
|
}
|