test: OAuth user model fields
This commit is contained in:
@@ -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 } })
|
||||||
|
})
|
||||||
|
})
|
||||||
Reference in New Issue
Block a user