diff --git a/server/src/routes/__tests__/oauth-social.test.js b/server/src/routes/__tests__/oauth-social.test.js new file mode 100644 index 0000000..9e60924 --- /dev/null +++ b/server/src/routes/__tests__/oauth-social.test.js @@ -0,0 +1,41 @@ +import { describe, it, expect } from 'vitest' +import { prisma } from '../../lib/prisma.js' + +describe('OAuth — User model fields', () => { + it('stores displayName, firstName, lastName, gender, avatar fields on User model', async () => { + const user = await prisma.user.create({ + data: { + email: 'test-oauth@example.com', + displayName: 'Test User', + firstName: 'Test', + lastName: 'User', + gender: 'male', + avatar: 'https://example.com/avatar.jpg', + }, + }) + + expect(user.displayName).toBe('Test User') + expect(user.firstName).toBe('Test') + expect(user.lastName).toBe('User') + expect(user.gender).toBe('male') + expect(user.avatar).toBe('https://example.com/avatar.jpg') + + await prisma.user.delete({ where: { id: user.id } }) + }) + + it('allows nullable fields', async () => { + const user = await prisma.user.create({ + data: { + email: 'test-oauth-null@example.com', + }, + }) + + expect(user.displayName).toBeNull() + expect(user.firstName).toBeNull() + expect(user.lastName).toBeNull() + expect(user.gender).toBeNull() + expect(user.avatar).toBeNull() + + await prisma.user.delete({ where: { id: user.id } }) + }) +})