Files
xiaoxia-saas/apps/web/src/api/auth.test.ts
T
Xiaoxia AI a670a0c793
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
test(web): guard auth user contract normalization
2026-06-22 10:23:13 +08:00

48 lines
1.2 KiB
TypeScript

import { describe, expect, it } from 'vitest';
import { normalizeUser } from './auth';
describe('normalizeUser', () => {
it('normalizes canonical API current-user fields', () => {
expect(
normalizeUser({
user_id: 'user-1',
email: 'user@example.com',
username: 'user',
display_name: 'User',
email_verified: true,
})
).toEqual({
id: 'user-1',
user_id: 'user-1',
email: 'user@example.com',
username: 'user',
display_name: 'User',
is_email_verified: true,
email_verified: true,
created_at: undefined,
});
});
it('keeps compatibility with legacy UI-shaped user fields', () => {
expect(
normalizeUser({
id: 'user-2',
email: 'legacy@example.com',
username: 'legacy',
display_name: 'Legacy',
is_email_verified: false,
created_at: '2026-06-22T00:00:00Z',
})
).toEqual({
id: 'user-2',
user_id: 'user-2',
email: 'legacy@example.com',
username: 'legacy',
display_name: 'Legacy',
is_email_verified: false,
email_verified: false,
created_at: '2026-06-22T00:00:00Z',
});
});
});