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) }}
import CodexBarCore
import 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)
}
}