From 91b1e08eff52a7700dbe53d3c2a0b1c49c0c438a Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Wed, 6 May 2026 18:03:47 +0700 Subject: [PATCH] fix: throw accountUnavailable from CloudKitSyncEngine.currentAccountId for consistency with peer methods --- TablePro/Core/Sync/CloudKitSyncEngine.swift | 2 +- TableProTests/Core/Sync/CloudKitSyncEngineTests.swift | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/TablePro/Core/Sync/CloudKitSyncEngine.swift b/TablePro/Core/Sync/CloudKitSyncEngine.swift index 423e757e6..c0129b780 100644 --- a/TablePro/Core/Sync/CloudKitSyncEngine.swift +++ b/TablePro/Core/Sync/CloudKitSyncEngine.swift @@ -55,7 +55,7 @@ actor CloudKitSyncEngine { } func currentAccountId() async throws -> String? { - guard let container else { return nil } + guard let container else { throw SyncError.accountUnavailable } return try await container.userRecordID().recordName } diff --git a/TableProTests/Core/Sync/CloudKitSyncEngineTests.swift b/TableProTests/Core/Sync/CloudKitSyncEngineTests.swift index e4d515546..16c6ebae0 100644 --- a/TableProTests/Core/Sync/CloudKitSyncEngineTests.swift +++ b/TableProTests/Core/Sync/CloudKitSyncEngineTests.swift @@ -64,11 +64,12 @@ struct CloudKitSyncEngineTests { } } - @Test("currentAccountId returns nil without iCloud entitlement") - func currentAccountIdReturnsNil() async throws { + @Test("currentAccountId throws accountUnavailable without iCloud entitlement") + func currentAccountIdThrows() async throws { try skipIfEntitled() let engine = CloudKitSyncEngine() - let accountId = try await engine.currentAccountId() - #expect(accountId == nil) + await #expect(throws: SyncError.accountUnavailable) { + _ = try await engine.currentAccountId() + } } }