59 lines · 1.9 KB · Swift
RawDownload
import Testing@testable import CodexBarCore struct CursorLegacyRequestProjectionTests {    @Test    func `legacy plan hides token-based auto and api bars`() {        let snapshot = Self.snapshot(requestsUsed: 347, requestsLimit: 500)         let usageSnapshot = snapshot.toUsageSnapshot()         #expect(abs((usageSnapshot.primary?.usedPercent ?? 0) - 69.4) < 0.01)        #expect(usageSnapshot.cursorRequests?.used == 347)        #expect(usageSnapshot.cursorRequests?.limit == 500)        #expect(usageSnapshot.secondary == nil)        #expect(usageSnapshot.tertiary == nil)    }     @Test    func `unusable legacy request quota preserves token bars`() {        let requestCases: [(used: Int?, limit: Int?)] = [            (nil, 500),            (12, 0),        ]         for requestCase in requestCases {            let usageSnapshot = Self.snapshot(                requestsUsed: requestCase.used,                requestsLimit: requestCase.limit).toUsageSnapshot()             #expect(usageSnapshot.primary?.usedPercent == 7.0)            #expect(usageSnapshot.cursorRequests == nil)            #expect(usageSnapshot.secondary?.usedPercent == 11.0)            #expect(usageSnapshot.tertiary?.usedPercent == 22.0)        }    }     private static func snapshot(        requestsUsed: Int?,        requestsLimit: Int?) -> CursorStatusSnapshot    {        CursorStatusSnapshot(            planPercentUsed: 7.0,            autoPercentUsed: 11.0,            apiPercentUsed: 22.0,            planUsedUSD: 1.4,            planLimitUSD: 20.0,            onDemandUsedUSD: 0,            onDemandLimitUSD: nil,            teamOnDemandUsedUSD: nil,            teamOnDemandLimitUSD: nil,            billingCycleEnd: nil,            membershipType: "pro",            accountEmail: "user@example.com",            accountName: nil,            rawJSON: nil,            requestsUsed: requestsUsed,            requestsLimit: requestsLimit)    }}