43 lines · 1.4 KB · Swift
RawDownload
import CodexBarCoreimport Testing struct CodexIdentityResolverTests {    @Test    func `resolver prefers provider account over email`() {        let identity = CodexIdentityResolver.resolve(            accountId: "account-123",            email: "Person@example.com")         #expect(identity == .providerAccount(id: "account-123"))    }     @Test    func `resolver falls back to normalized email when provider account missing`() {        let identity = CodexIdentityResolver.resolve(            accountId: nil,            email: " Person@example.com ")         #expect(identity == .emailOnly(normalizedEmail: "person@example.com"))    }     @Test    func `resolver returns unresolved when account data missing`() {        let identity = CodexIdentityResolver.resolve(accountId: nil, email: nil)         #expect(identity == .unresolved)    }     @Test    func `provider account does not equal email fallback even when email matches`() {        let providerAccount = CodexIdentityResolver.resolve(            accountId: "account-123",            email: "person@example.com")        let emailOnly = CodexIdentityResolver.resolve(            accountId: nil,            email: "person@example.com")         #expect(providerAccount == .providerAccount(id: "account-123"))        #expect(emailOnly == .emailOnly(normalizedEmail: "person@example.com"))        #expect(providerAccount != emailOnly)    }}