import Foundationimport Testing@testable import CodexBar @Suite@MainActorstruct GoogleWorkspaceStatusTests { private let productID = "npdyhgECDJ6tB66MxXyo" @Test func parseWorkspaceStatusSelectsWorstIncident() throws { let data = Data(#""" [ { "id": "inc-1", "begin": "2025-12-02T09:00:00+00:00", "end": null, "affected_products": [ {"title": "Gemini", "id": "npdyhgECDJ6tB66MxXyo"} ], "most_recent_update": { "when": "2025-12-02T10:00:00+00:00", "status": "SERVICE_INFORMATION", "text": "**Summary**\nMinor issue.\n" } }, { "id": "inc-2", "begin": "2025-12-02T11:00:00+00:00", "end": null, "affected_products": [ {"title": "Gemini", "id": "npdyhgECDJ6tB66MxXyo"} ], "most_recent_update": { "when": "2025-12-02T12:00:00+00:00", "status": "SERVICE_OUTAGE", "text": "**Summary**\nGemini API error.\n" } } ] """#.utf8) let status = try UsageStore.parseGoogleWorkspaceStatus(data: data, productID: self.productID) #expect(status.indicator == .critical) #expect(status.description == "Gemini API error.") #expect(status.updatedAt != nil) } @Test func parseWorkspaceStatusIgnoresResolvedIncidents() throws { let data = Data(#""" [ { "id": "inc-3", "begin": "2025-12-02T08:00:00+00:00", "end": "2025-12-02T09:00:00+00:00", "affected_products": [ {"title": "Gemini", "id": "npdyhgECDJ6tB66MxXyo"} ], "most_recent_update": { "when": "2025-12-02T09:00:00+00:00", "status": "AVAILABLE", "text": "**Summary**\nResolved.\n" } } ] """#.utf8) let status = try UsageStore.parseGoogleWorkspaceStatus(data: data, productID: self.productID) #expect(status.indicator == .none) #expect(status.description == nil) }}
import Foundation
import Testing
@testable import CodexBar
@Suite
@MainActor
struct GoogleWorkspaceStatusTests {
private let productID = "npdyhgECDJ6tB66MxXyo"
@Test
func parseWorkspaceStatusSelectsWorstIncident() throws {
let data = Data(#"""
[
{
"id": "inc-1",
"begin": "2025-12-02T09:00:00+00:00",
"end": null,
"affected_products": [
{"title": "Gemini", "id": "npdyhgECDJ6tB66MxXyo"}
],
"most_recent_update": {
"when": "2025-12-02T10:00:00+00:00",
"status": "SERVICE_INFORMATION",
"text": "**Summary**\nMinor issue.\n"
}
},
{
"id": "inc-2",
"begin": "2025-12-02T11:00:00+00:00",
"end": null,
"affected_products": [
{"title": "Gemini", "id": "npdyhgECDJ6tB66MxXyo"}
],
"most_recent_update": {
"when": "2025-12-02T12:00:00+00:00",
"status": "SERVICE_OUTAGE",
"text": "**Summary**\nGemini API error.\n"
}
}
]
"""#.utf8)
let status = try UsageStore.parseGoogleWorkspaceStatus(data: data, productID: self.productID)
#expect(status.indicator == .critical)
#expect(status.description == "Gemini API error.")
#expect(status.updatedAt != nil)
}
@Test
func parseWorkspaceStatusIgnoresResolvedIncidents() throws {
let data = Data(#"""
[
{
"id": "inc-3",
"begin": "2025-12-02T08:00:00+00:00",
"end": "2025-12-02T09:00:00+00:00",
"affected_products": [
{"title": "Gemini", "id": "npdyhgECDJ6tB66MxXyo"}
],
"most_recent_update": {
"when": "2025-12-02T09:00:00+00:00",
"status": "AVAILABLE",
"text": "**Summary**\nResolved.\n"
}
}
]
"""#.utf8)
let status = try UsageStore.parseGoogleWorkspaceStatus(data: data, productID: self.productID)
#expect(status.indicator == .none)
#expect(status.description == nil)
}
}