PerGameZoneTests.swift (1222B)
1 import CloudKit 2 import Foundation 3 import Testing 4 5 @testable import Crossmate 6 7 @Suite("PerGameZone") 8 struct PerGameZoneTests { 9 10 @Test("zoneID uses game UUID as zone name") 11 func zoneIDZoneName() { 12 let id = UUID(uuidString: "12345678-1234-1234-1234-123456789ABC")! 13 let zone = RecordSerializer.zoneID(for: id) 14 #expect(zone.zoneName == "game-12345678-1234-1234-1234-123456789ABC") 15 } 16 17 @Test("zoneID defaults to CKCurrentUserDefaultName for owner") 18 func zoneIDDefaultOwner() { 19 let id = UUID() 20 let zone = RecordSerializer.zoneID(for: id) 21 #expect(zone.ownerName == CKCurrentUserDefaultName) 22 } 23 24 @Test("zoneID accepts explicit ownerName for shared games") 25 func zoneIDExplicitOwner() { 26 let id = UUID() 27 let zone = RecordSerializer.zoneID(for: id, ownerName: "_someOwnerID") 28 #expect(zone.ownerName == "_someOwnerID") 29 } 30 31 @Test("recordName(forGameID:) embedded in zoneID zoneName") 32 func gameRecordNameMatchesZoneName() { 33 let id = UUID() 34 let zoneName = RecordSerializer.zoneID(for: id).zoneName 35 let recordName = RecordSerializer.recordName(forGameID: id) 36 #expect(zoneName == recordName) 37 } 38 }